Ideally, I want an automated CM tool that lets me manage and control the entire state of my servers. One of the challenges accomplishing this task herculean task, and there are many, is the unendurable tedium required to write it down. I thought, therefore, that a tool might be able to simply reverse engineer an existing configuration. Well, it turns out there is. It’s called Blueprint.
I tested it a bit and it’s very cool. Just install it using Python’s
pip and run it. It will generate a massive system spec. Then you can export this spec in Puppet or Chef formats (no Ansible support unfortunate.) The Puppet manifest for my CentOS server was several thousand lines long. That’s quite a spec.
Why is this useful? You can use Blueprint to clone systems. It’s a system image (or at least extremely close to one) and it’s editable. A standard system image is like a raster graphic, a Blueprint spec is like a vector graphic. The spec is data and can be manipulated. I’m not sure yet how it fits into my tool chain but I am intrigued by its potential.