little puppet tools to make your life better

Download Little Puppet Tools To Make Your Life Better

Post on 05-Dec-2014

192 views

Category:

Technology

0 download

Embed Size (px)

DESCRIPTION

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

TRANSCRIPT

  • 1. LittlePuppetToolsToMakeYour LifeBetter!
  • 2. Bithyperbolic...
  • 3. SomethingsImadethathelpme! Hopefully they can help you too!
  • 4. Me Developer turned ops guy Working at Kainos, contracting on Government Projects
  • 5. PreviouslyontheIERproject Now live! https://www.gov.uk/register-to-vote
  • 6. Now on the DEFRA CAPD project
  • 7. Sofirstup!
  • 8. puppet-install-shell https://github.com/petems/puppet- install-shell
  • 9. Shell (not bash!) script Installs Puppet on (most!) Unix flavour machines Plan to support all platforms oicially supported by Puppet (https:// docs.puppetlabs.com/guides/platforms.html) Currently supports EL, Fedora, Debian, Ubuntu, OSX and Arch!
  • 10. Amixofvariousprovisioner scriptsIfoundaroundthe Internet
  • 11. Alotof test -f
  • 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. Quickonesteptogetpuppet installedonamachine:
  • 14. curl https://raw.github.com/petems/ puppet-install-shell/master/ install_puppet.sh | sudo sh
  • 15. LiveDemoWarning!
  • 16. Itsmainusewasforanother tool:
  • 17. vagrant-puppet-install
  • 18. Well,makingisastrongterm...
  • 19. Tookovermaintenanceof!
  • 20. Easywaytoprovisionservers createdwithVagrant
  • 21. WorkswithVagrantCloud Providerstoo!
  • 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. 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. LiveDemoWarning!
  • 25. Andfinally
  • 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. Currentstatus:Verybrittle! New syntax breaks it! A few false positives A few false negatives...
  • 28. Butpeopleareusingit (woo!) Well,afew...
  • 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. LiveDemoWarning!
  • 31. That'sit!
  • 32. Q&A