Attempting Some Resource Collecting

After some adventures building a new feature for mgmt’s Puppet support, and making a presentation including live demos about it, I find myself quite impressed with how far mgmt’s interface and its configuration language have evolved since last I played with them. One thing that I found lacking is the documentation. As the tool is now in a nice shape for people out there to go ahead and give it a spin, I feel that improving the docs will be especially helpful in order to allow early adopters to get a smooth start, without the need to read code or asking James and his contributors for help. [Read More]
mgmt  yaml  graph  etcd  cluster 

Building The Code Mixer

This blog is not dead. It hasn’t seen any new content in a long while, which is a shame, but I did use the hiatus to recharge some creative energy. Here’s hoping progress will be more steady next year. Narrator voice It wasn’t more steady. In fact, this article was kept around as an unfinished draft throughout 2019, not to be published before Config Management Camp 2020. It still lacks diagrams that make the graph code understandable. [Read More]

Counting Resource Translation Misses

This is another post in the wake of CfgMgmtCamp 2018, where the mgmt hack room saw lively discussion that inspired some new ideas as well as reminding me of some ideas I had last year, but didn’t manage to implement or describe yet. This post is about one of those. Recap Even though we now have a slick Puppet module that allows early adopters and testers to run mgmt from Puppet manifest code, our ability to run existing, complex manifests is somewhat limited. [Read More]

Thinking About Migration From Puppet To Mgmt

Abstract We have already implemented a way to replace the Puppet Agent with the mgmt engine. It can run a graph on a machine that is derived from the machine’s Puppet catalog. The user is limited to mgmt features that can be expressed in Puppet’s DSL in this scenario. In order to unlock mgmt’s full potential, the user will have to rewrite all their Puppet code in mgmt’s language. This presents a significant challenge for maintainers of larger Puppet code bases that are actively used and evolving. [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]

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]