I love my job. Love, love, love, it.
We've been talking about the value of a configuration engine replacing our rickety install process for years. Years. Hasn't been worth the short-term pain.
Looked at another way, have not been able to carve the time out to make it happen.
Looked at yet another way 'If you don't have time to do it right, when will you have time to do it over'?
So this go-around we have a perfect storm of a project. I've managed to build in time to set up the infrastructure to setup the servers. An actual project plan that says 'build the configuration engine first, then build the servers using that'. It's important that this be done right, for a lot of tedious reaons.
It helps to be the guy who wrote the project plan.
Here is the deal: spend figuring out how to build a Puppet module to manage something on a server. An application. A service. User, file ... if it's something you can touch on a host there is a way to make Puppet do it. The more complicated the module, the more time it takes.
Edit crontab? Took about an hour. X Windows? Two hours. X is complicated.
The genius comes because forever after managing that resource on a server is a matter only of putting the host's name in the right file.
Want XWindows on a host? Edit the right file, save. Want it gone? REMOVE the entry from that file, wait an hour.
If one is feeling impetuous one can shell to the host and manually force the issue.
It's even making Linux look loveable.
Love. My. Job.
We've been talking about the value of a configuration engine replacing our rickety install process for years. Years. Hasn't been worth the short-term pain.
Looked at another way, have not been able to carve the time out to make it happen.
Looked at yet another way 'If you don't have time to do it right, when will you have time to do it over'?
So this go-around we have a perfect storm of a project. I've managed to build in time to set up the infrastructure to setup the servers. An actual project plan that says 'build the configuration engine first, then build the servers using that'. It's important that this be done right, for a lot of tedious reaons.
It helps to be the guy who wrote the project plan.
Here is the deal: spend figuring out how to build a Puppet module to manage something on a server. An application. A service. User, file ... if it's something you can touch on a host there is a way to make Puppet do it. The more complicated the module, the more time it takes.
Edit crontab? Took about an hour. X Windows? Two hours. X is complicated.
The genius comes because forever after managing that resource on a server is a matter only of putting the host's name in the right file.
Want XWindows on a host? Edit the right file, save. Want it gone? REMOVE the entry from that file, wait an hour.
If one is feeling impetuous one can shell to the host and manually force the issue.
It's even making Linux look loveable.
Love. My. Job.