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

Vagrant and Puppet Primer - NWDUG Sep 2013

mikebell
September 05, 2013

Vagrant and Puppet Primer - NWDUG Sep 2013

Presented at nwdug in Manchester September 2013 - http://mikebell.io

mikebell

September 05, 2013
Tweet

More Decks by mikebell

Other Decks in Technology

Transcript

  1. VAGRANT DEVELOPMENT AND PUPPET MANAGEMENT USING VAGRANTS TO DO THE

    WORK AND PUPPET TO CONTROL THINGS Created by / Mike Bell @mikebell_
  2. WHO? Mike Bell Twitter - Drupal.org - Where - CTI

    Digital - Drupal Technical Architect @mikebell_ digital006
  3. WHAT IS VAGRANT Vagrant is a command line wrapper for

    virtual box which provides utils for managing your VMs
  4. VAGRANT TERMINOLOGY Host - Your physical machine Guest - The

    virtual machine
  5. WHAT NOW? Vagrant supports puppet manifests out of the box

    so you can provision your development (and production) easily
  6. RESOURCES Vagrant Nginx - There you go! Job Done... http://github.com/digital006/drupaldev-nginx

  7. WHY SHOULD I USE THIS? 1. Throw away 2. Easy

    to rebuild 3. Closer to production 4. Flexible system
  8. PRE-REQUISITE OS that supports NFS (OSX, Linux) - You can

    use 'doze if you want (not tested) Lots of RAM
  9. DEMO TIME

  10. SO WHAT JUST HAPPENED? Vagrant told virtual box to bring

    up a box (precise64) Puppet then configured the server according to our requirements Puppet also created the sites that we had specified
  11. INTERNAL FEATURES/CONFIG sites > shared over nfs to /var/www port

    3306 is mapped from the guest the host
  12. WHAT IS PUPPET? Puppet is a provision tool to define

    the configuration of a server
  13. PUPPET MANIFESTS The backbone of puppet Define your config here

  14. PUPPET MODULES Existing puppet manifests and helper files Gives you

    a head start - great resource for existing modules Puppet Forge
  15. PUPPET MANIFESTS - DEMO Existing manifests in DrupalDev - nginx

  16. LIBRARIAN PUPPET Think composer to php Define your puppet modules

    in a config file and download them when needed Easy way to keep them up to date Librarian Puppet
  17. QUESTIONS? If you want to help checkout my github issues

    page