Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Little Puppet Tools To Make Your Life Better

433 views

Published on

A short talk I gave at the first Puppet User Group in London about three tools I made to make my Puppet life easier:

* puppet-install-shell
* vagrant-puppet-install
* puppet-doc-lint

Published in: Technology
  • Be the first to comment

Little Puppet Tools To Make Your Life Better

  1. 1. LittlePuppetToolsToMakeYour LifeBetter!
  2. 2. Bithyperbolic...
  3. 3. SomethingsImadethathelpme! Hopefully they can help you too!
  4. 4. Me Developer turned ops guy Working at Kainos, contracting on Government Projects
  5. 5. PreviouslyontheIERproject Now live! https://www.gov.uk/register-to-vote
  6. 6. Now on the DEFRA CAPD project
  7. 7. Sofirstup!
  8. 8. puppet-install-shell https://github.com/petems/puppet- install-shell
  9. 9. · Shell (not bash!) script · Installs Puppet on (most!) Unix flavour machines · Plan to support all platforms officially supported by Puppet (https:// docs.puppetlabs.com/guides/platforms.html) · Currently supports EL, Fedora, Debian, Ubuntu, OSX and Arch!
  10. 10. Amixofvariousprovisioner scriptsIfoundaroundthe Internet
  11. 11. Alotof test -f
  12. 12. machine=`uname -m` os=`uname -s` if test -f "/etc/lsb-release" && grep -q DISTRIB_ID /etc/lsb-release; then platform=`grep DISTRIB_ID /etc/lsb-release | cut -d "=" -f 2 | tr '[A-Z]' '[a-z]'` platform_version=`grep DISTRIB_RELEASE /etc/lsb-release | cut -d "=" -f 2`
  13. 13. Quickonesteptogetpuppet installedonamachine:
  14. 14. curl https://raw.github.com/petems/ puppet-install-shell/master/ install_puppet.sh | sudo sh
  15. 15. LiveDemoWarning!
  16. 16. Itsmainusewasforanother tool:
  17. 17. vagrant-puppet-install
  18. 18. Well,makingisastrongterm...
  19. 19. Tookovermaintenanceof!
  20. 20. Easywaytoprovisionservers createdwithVagrant
  21. 21. WorkswithVagrantCloud Providerstoo!
  22. 22. Vagrant.configure("2") do |config| config.vm.define :ubuntu do |ubuntu| ubuntu.puppet_install.puppet_version = '3.6.1' ubuntu.vm.box = "puppetlabs/ubuntu-14.04-64-nocm" ubuntu.vm.provision :puppet do |puppet| puppet.manifests_path = File.expand_path('../../../support/manifests', __FILE__) puppet.manifest_file = "base.pp" end ubuntu.vm.provision "shell", inline: "puppet --version" end
  23. 23. Niceandsimple... · Checks the version you've defined is valid (from RubyGems.org...) · Rsyncs or downloads a script that installs puppet (uses puppet-install-shell script by default!) · Standard error handling and catching · Windows support soon!
  24. 24. LiveDemoWarning!
  25. 25. Andfinally
  26. 26. Puppet-doc-lint · Tool for module maintainers · Looks through your Puppet documentation and shows when you have undocumented parameters · Or documentation on parameters that are now missing
  27. 27. Currentstatus:Verybrittle! · New syntax breaks it! · A few false positives · A few false negatives...
  28. 28. Butpeopleareusingit (woo!) Well,afew...
  29. 29. @electrical (Richard Pijnenburg) is my current ginea pig! He's been using it for logstash Puppet module It's helped him, so it's helped at least 1 person! :)
  30. 30. LiveDemoWarning!
  31. 31. That'sit!
  32. 32. Q&A

×