Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Boxen: PuppetCamp ATL

Boxen: PuppetCamp ATL

A Boxen talk focused at folks who might attend a PuppetCamp.

Will Farrington

March 19, 2013
Tweet

More Decks by Will Farrington

Other Decks in Technology

Transcript

  1. better install a ruby version manager, like 8 versions of

    ruby, a handful of gems to try and make the behavior remotely sane, and then pray it doesn't break
  2. wat

  3. "all right, new work laptop! i wonder where that blog

    post i used last time to set up ruby, python, go, and git is. hopefully it still works and by the end of the week i can start shipping."
  4. "all right, new work laptop! i wonder where that blog

    post i used last time to set up ruby, python, go, and git is. hopefully it still works and by the end of the week i can start shipping." lame
  5. when was the last time you knew every human was

    running the same services in dev and prod?
  6. "hey so my postgresql isn't working. is yours working? it

    is? huh. i have no idea what's wrong."
  7. "hey so my postgresql isn't working. is yours working? it

    is? huh. i have no idea what's wrong." lame
  8. "jeeeeeez the mac app store has been bugging me for

    like forever! i have a billion updates... meh"
  9. "jeeeeeez the mac app store has been bugging me for

    like forever! i have a billion updates... meh" lame
  10. maybe you use CM in dev already, but when was

    the last time you updated and ran it?
  11. homebrew, git, hub, gcc, rbenv, ruby 1.8.7, ruby 1.9.3, ruby

    2.0.0, nvm, nodejs 0.4.x, nodejs 0.6.x, nodejs 0.8.x, nginx, .dev dns, FDE, and puppetlabs-stdlib
  12. CLI

  13. # modules/projects/manifests/team.pp class projects::team { boxen::project { 'team': dotenv =>

    true, mysql => true, nginx => true, ruby => '1.9.3', source => 'github/team', } }
  14. $ boxen team warning: Setting up 'team'. This can be

    made permanent by having 'include projects::team' in your personal manifest.
  15. # modules/people/manifests/wfarr.pp class people::wfarr { case $::hostname { 'bender': {

    include projects::all } 'scruffy': { include projects::team } default: {} } }
  16. # modules/people/manifests/wfarr.pp class people::wfarr { git::config::global { 'alias.st': value =>

    'status'; 'alias.ci': value => 'commit'; 'alias.di': value => 'diff'; 'alias.lp': value => 'log -p'; 'color.ui': value => 'true'; 'user.name': value => 'Will Farrington'; 'user.email': value => '[email protected]'; } }