This was my first time at the Config Management Camp in Gent and I had a great time and you’ll see from my notes below that it was definitely worth it.
Day 1
- Recommendation: use find-nodes from PuppetDB with i parallel SSH (pssh).
- Services resiliance depends on human resiliance (HumanOps).
- tiny puppet installs applications on any OS (slides):
- e.g. tp install puppetdb
- tinydata is the default source for application data.
- Vox Pupuli maintain abandoned puppet modules.
- Reading recommendation: Thinking in Systems: A Primer, by Donella Meadows.
- Puppet extensions:
- Ruby functions can take lambda arguments.
- dalen-puppetdbquery query_resources function to find other nodes resources.
- Puppet faces allows new puppet subcommands (dalen-puppetls).
- Foreman unknown gems (slides):
- Foreman hooks plugin.
- Trends show changes over time.
- Bookmark searches. Puppet can ask the search API for information with puppet-foreman module.
- Class import has rules to hide things in the UI.
- hammer ssh -c ‘uptime’ -s ‘architecture=…’
- foreman-rake hosts:scan_out_of_sync
- There are several Foreman UI themes.
- API docs are available in your Foreman instance as http://foreman/apidoc
- Types and providers:
- require “wirble” in ~/.irbrc
- Pro tip: use Puppet types and providers for managing web APIs.
Day 2
- Inspiring story by Annie Hedgpeth, My Journey Into Technology Through Inspec (video).
- Getting data to the end user:
- Memex maps the Dark Web.
- NASA beards like GitHub, sysadmins don’t.
- juju allows users choose their applications, configure and scale them.
- Someone mentioned that libral (a native Resource Abstraction Layer) seemed interesting.
- Quality automation with rudder-dev (slides)
- undef: refactoring old puppet code (slides)
- Puppet 3.x is EOL.
- Hiera overload, bloated YAML. Clean it up!
- Lack of validation/CI:
- Syntax error should not be deployable.
- Fix style with puppet-lint -f
- rspec-puppet to test special cases.
- Beaker or Test Kitchen for acceptance tests.
- VCS top notch:
- Make it easy as possible to avoid mistakes.
- Put full context in the commit message.
- Use the body to explain what and why, not how.
- Commit often, perfect later, publish once.
- The git pickaxe shows you how to find any text in the commits.
- GitMagic helps setting contribution guidelines.
- Make newbie experience better:
- Start with control-repo.
- Pick supported forge modules, then pick approved ones.
- puppet module skeleton
- Write as little as possible.
Hope you find the notes useful. Let me know if you have any questions.