Translating All The Things

Through the last months, I’ve written a lot about my work on the translator module for Puppet, which allows us to control mgmt with manifest code. One gimmick we had imagined early was the ability to support arbitrary manifests in mgmt, by invoking puppet resource for vertices that mgmt itself cannot handle. This works now, in principle, and it nicely demonstrates the amount of work that still needs doing. Shaving the yak Adding the generic pseudo-translator code to the module was relatively straight-forward. [Read More]

Edging It All In

The mgmt translator for puppet catalogs was truly created from the bottom up. We started with a few resource types, and the relationships between the translated resources. This falls short for many catalogs, of course, because dependencies must often put whole classes in order, or do the same for instances of defined types. Allowing the translator module to accept such macro-dependencies was not much work, but it did require some intense digging. [Read More]

Puppet Powered Mgmt

Recently, I wrote a veritable deep-dive on mgmt’s new Puppet integration code, but didn’t include a good overview of how the new features look in practice. Here we go. The original interface If you recall, mgmt has no configuration language of its own. With its highly dynamic and distributed nature, it’s also not a good fit for the languages that established tools such as puppet and chef use. (Please note that Salt has no language either, and Ansible relies on a weird YAML hybrid). [Read More]

Puppet, Meet Mgmt

Welcome back I just realized that it has been almost 4 months since my last post. If you missed it, you should probably read it before this one. I kicked off quite a bit of work then and much has come to fruition in the meantime. This is my report. Update: This post is quite extensive and covers the guts of the implementation. For a succinct overview of the new functionality, see the follow-up. [Read More]
puppet  mgmt  dsl  ruby  go 

From Catalog To Mgmt

Have you heard of mgmt yet? It’s (currently) a prototype config management engine written by James and brings some exciting new ideas to the table, building on the proven concepts of Puppet. You should probably read up on it right now. James gave the inaugural demo at ConfigMgmtCamp 2016 in Gent, Belgium, and mentioned that he can picture a sort of “transpiler” that will create resource graphs from Puppet manifest code. [Read More]