rake puppetexpert:create - puppet camp silicon valley 2014

40
rake puppetexpert:create Nathan Valentine Professional Services Engineer - Puppet Labs [email protected] @nrvale0

Upload: nvpuppet

Post on 10-May-2015

546 views

Category:

Technology


2 download

DESCRIPTION

Slides for the 'rake puppetexpert:create' presentation at Puppet Camp SiliconValley 2014

TRANSCRIPT

Page 1: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

rake puppetexpert:create

Nathan Valent ine

Professional Services Engineer - Puppet Labs

nathan@puppet labs.com

@nrvale0

Page 2: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Why am I here?

Page 3: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Managing Windows with Puppet?

Page 4: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Spooky action at a distance withMCollective!

Page 5: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Awesome sauce with Puppet + Docker?

Page 6: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Argh! Let me go to my corner and playwith my toys!

Page 7: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Let's play a game...

Page 8: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Easy"What is Puppet?" with basic examples

clever things others have done with Puppet

How to DevOps-ify your organization with Puppet as a core tool

Page 9: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

More DifficultBeyond the basics, how do I become a Puppet expert?

Tons of resources! What's the progression?

Page 10: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Meta-learning

Page 11: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Meta-learningDeconstruction: "...minimum learnable units, the LEGO blocks..."

Selection: "Which 20% of the blocks?"

Sequencing: "In what order?"

** shamelessly stolen from Wikipedia and T4HC

Page 12: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Selection and Sequencing are important!

Page 13: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Let's focus onReview of available resources

Selection & Sequencing

Page 14: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

BTW, this presentation linked from Twitter later today:

@nrvale0

Page 15: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Getting Started

Page 16: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

The Usual Suspectspuppet-users mailing list:

http://goo.gl/dgvApa"Whoa, Nelly! That's a lot of email!"

#puppet on irc.freenode.net

Page 17: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Puppet Labs Learning Management Systemhttp://puppetlabs.com/learn

Page 18: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Puppet Enterprise Learning VMhttp://info.puppetlabs.com/download-learning-puppet-VM.html

Page 19: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Puppet Enterprise Traininghttp://puppetlabs.com/services/training

Page 20: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Pro Puppet, Second Editionhttp://goo.gl/SEjW6N

Page 21: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

http://ask.puppetlabs.com

Page 22: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

http://puppetlabs.com/blog

Page 23: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Twitter: @PuppetLabs

Page 24: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Oh, also...real people in The Real World!PuppetConf 2014 in San Francisco, CA!

PuppetCamps ( You must have figured this one out on your own. ;) )

Meetups

Page 25: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Puppet DSL Style

Page 26: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Validate Your Code$ ( cd mymodule && puppet parser validate `find ./ -name '*.pp'` )

very basic sanity check ( brackets, commas, etc)

doesn't check for valid attributes for the type

Page 27: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Style Guide Check$ sudo gem install puppet-lint && puppet-lint --with-filename ./mymodule

http://puppet-lint.com

very basic sanity check ( brackets, commas, quotes, etc )

doesn't check for valid attributes for the type

Page 28: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Puppet Style ProTipImplement logic which rejects submission of Puppet code code to your centralgit/SVN/etc repositories unless the code passes both 'puppet parser' and puppet-lint runs.

Page 29: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Online Puppet Lintpuppet-lint As A Service?

http://www.puppetlinter.com

And did you know it has a GitHub Post-Receive Hook?

http://www.puppetlinter.com/github

Page 30: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Roles and Profileshigher and higher levels of abstraction for Puppet code

first publicly proposed by Craig Dunn in:http://www.craigdunn.org/2012/05/239/

now taught as part of Puppet Labs training

roles composed of profiles

profiles composed of component modules (puppetlabs/apache)

Let's see some code...

Page 31: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Hierasource Puppet top-scopes and class parameters from multiple backends

YAML backend is most popular. Also JSON.

other backends allow non-coders to fiddle with data fed to pre-writtenmodules

CouchDB, MySQL, LDAP, etc - lots of Hiera backends in the community

Page 32: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Tooling (and retooling)

Page 33: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

GitFor better or worse (Hg lovers), Git dominates in the Puppet community.

GitHub : enough said

BitBucket : http://bitbucket.orgfree private repos

'The Git Book' : http://git-scm.com/book

'Learn Git Branching' : http://pcottle.github.io/learnGitBranching/

Page 34: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

New title: "First, learn Vagrant."

Page 35: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

http://vagrantup.com

Page 36: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

VagrantDisposable repeatable VMs with:

VirtualBox

VMWare

LXC

Docker

etc

Page 37: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Let's see some Vagrant magic!

Page 38: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Google these when you get home!librarian-puppet (cool) : https://github.com/rodjek/librarian-puppet

r10k (way cool) : https://github.com/adrienthebo/r10k

Page 39: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Google these too!vagrant-pe_build : https://github.com/adrienthebo/vagrant-pe_build

vagrant-oscar : https://github.com/adrienthebo/oscar

Page 40: rake puppetexpert:create - Puppet Camp Silicon Valley 2014

Thanks for listening! Feed back [email protected]