little puppet tools to make your life better

32
Little Puppet Tools To Make Your Life Better!

Upload: peter-souter

Post on 05-Dec-2014

196 views

Category:

Technology


0 download

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

Page 1: Little Puppet Tools To Make Your Life Better

Little Puppet Tools To Make Your Life Better!

Page 2: Little Puppet Tools To Make Your Life Better

Bit hyperbolic...

Page 3: Little Puppet Tools To Make Your Life Better

Some things I made that help me!Hopefully they can help you too!

Page 4: Little Puppet Tools To Make Your Life Better

MeDeveloper turned ops guy

Working at Kainos, contracting on Government Projects

Page 5: Little Puppet Tools To Make Your Life Better

Previously on the IER projectNow live!

https://www.gov.uk/register-to-vote

Page 6: Little Puppet Tools To Make Your Life Better

Now on the DEFRA CAPD project

Page 7: Little Puppet Tools To Make Your Life Better

So first up!

Page 8: Little Puppet Tools To Make Your Life Better

puppet-install-shellhttps://github.com/petems/puppet-

install-shell

Page 9: Little Puppet Tools To Make Your Life Better

· 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!

Page 10: Little Puppet Tools To Make Your Life Better

A mix of various provisioner scripts I found around the

Internet

Page 11: Little Puppet Tools To Make Your Life Better

A lot oftest -f

Page 12: Little Puppet Tools To Make Your Life Better

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`

Page 13: Little Puppet Tools To Make Your Life Better

Quick one step to get puppet installed on a machine:

Page 14: Little Puppet Tools To Make Your Life Better

curl https://raw.github.com/petems/puppet-install-shell/master/install_puppet.sh | sudo sh

Page 15: Little Puppet Tools To Make Your Life Better

Live Demo Warning!

Page 16: Little Puppet Tools To Make Your Life Better

Its main use was for another tool:

Page 17: Little Puppet Tools To Make Your Life Better

vagrant-puppet-install

Page 18: Little Puppet Tools To Make Your Life Better

Well, making is a strong term...

Page 19: Little Puppet Tools To Make Your Life Better

Took over maintenance of!

Page 20: Little Puppet Tools To Make Your Life Better

Easy way to provision servers created with Vagrant

Page 21: Little Puppet Tools To Make Your Life Better

Works with Vagrant Cloud Providers too!

Page 22: Little Puppet Tools To Make Your Life Better

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

Page 23: Little Puppet Tools To Make Your Life Better

Nice and simple...· 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!

Page 24: Little Puppet Tools To Make Your Life Better

Live Demo Warning!

Page 25: Little Puppet Tools To Make Your Life Better

And finally

Page 26: Little Puppet Tools To Make Your Life Better

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

Page 27: Little Puppet Tools To Make Your Life Better

Current status: Very brittle!· New syntax breaks it!· A few false positives

· A few false negatives...

Page 28: Little Puppet Tools To Make Your Life Better

But people are using it (woo!)

Well, a few...

Page 29: Little Puppet Tools To Make Your Life Better

@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! :)

Page 30: Little Puppet Tools To Make Your Life Better

Live Demo Warning!

Page 31: Little Puppet Tools To Make Your Life Better

That's it!

Page 32: Little Puppet Tools To Make Your Life Better

Q & A