Skip to content

Instantly share code, notes, and snippets.

@jowrjowr
Created June 4, 2019 20:52
Show Gist options
  • Select an option

  • Save jowrjowr/59f9ad56f2adab247787b3bcab968673 to your computer and use it in GitHub Desktop.

Select an option

Save jowrjowr/59f9ad56f2adab247787b3bcab968673 to your computer and use it in GitHub Desktop.
pidgin puppet docu

Helpful Links to Learn

  • Git

    All of the version control and internal branching relies on Git version control.

    Git tutorial

    Altassian Git tutorial

  • Puppet

    Puppet does all of the heavy lifting of configuration management. Current operational major version is 5.5, with an expectation of moving to 6 when it appropriately stabilizes due to Puppetlab's constant march forward.

    The documetnation made by Puppetlabs is incredibly detailed and quite accessible.

    Complete Puppet Documentation

  • r10k

    r10k bridges the steps of "putting stuff into git" and "running on puppetmaster", along with managing puppet module dependencies through puppet librarian

    Documentation/repo site

    Specific machine configuration

Machines are configured through hiera. This includes specific non-manifest configuration tunables, and what classes get to run on the machine.

All of this is stored in hieradata/nodes/

An example of a new Asterisk 11 machine:

classes:
  - 'profile::asterisk'
asterisk_version: 11

firewall:
  public_interface: bond0.200      # publicly routed, but not clustered
  private_interface: bond0.100     # privately routed
  voip_interface: bond0.200    # publicy routed & clustered

This is a more or less bare minimum asterisk configuration. Though the asterisk_verison variable can be removed since as you can see from hiera elsewhere, the default is "16".

The "classes" array is basically how roles are configured, and the firewall hash specifies the relevant interfaces.

So the basic flow for this is:

  • Create the machine configuration
  • Commit it to git (see: git tutorial) in the relevant branch.
  • Deploy with r10k on the puppetmaster: r10k deploy environment -p
  • Force an update on the machine with puppet agent -t
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment