Recently I have been working with the Puppet gem internals. I’ve found that each manifest run, the idea of which is to manage some properties of the system, creates a transaction object. The transaction object holds information about the desired state of the system. By extending the Puppet-provided codebase with plain Ruby, I’ve noticed a […]