Book Image

Mastering Puppet

By : Thomas Uphill
Book Image

Mastering Puppet

By: Thomas Uphill

Overview of this book

Table of Contents (17 chapters)

Index

A

  • $ALLOWED_USERS variable / Not playing nice with others
  • activemq
    • installing / Installing activemq
    • client, connecting to / Connecting a client to activemq
  • allow-query setting
    • about / Putting it all together
  • Ansible
    • URL / Puppet-sync
  • augeas
    • about / Using hiera_include
    • URL / Using hiera_include

B

  • $branch variable / Not playing nice with others
  • base class / A simple example
  • branches
    • creating / Personal and bugfix branches

C

  • --certname option
    • about / sshkey collection for laptops
  • CamelCase
    • about / Defined types
  • Catalog compilation / Catalog compilation
  • catalog failures
    • about / Catalog failures
    • full trace, running / Full trace of a catalog compile
    • classes.txt file / The classes.txt file
  • catalog_resources table
    • about / Simple example: a host entry
  • CDN role
    • creating / Creating an example CDN role
  • certificate
    • signing / Certificate signing
  • classes.txt file / The classes.txt file
  • Classless Inter-Domain Routing (CIDR) notation / Putting it all together
  • client
    • connecting, to activemq / Connecting a client to activemq
  • clustered filesystem / Clustered filesystem
  • cluster module
    • creating / Putting it all together
  • code consistency
    • rsync / Rsync
    • NFS / NFS
    • clustered filesystem / Clustered filesystem
    • Git / Git
  • collector
    • about / Multiple definitions
  • concat container
    • defining / Putting it all together
  • concat module
    • about / concat
  • config file environments / Environments
  • configtimeout parameter / Catalog compilation
  • Configuration Management DataBase (CMDB) / Putting it all together
  • connectivity issues
    • about / Connectivity issues
  • Content Delivery Network (CDN) / Creating an example CDN role
  • curl tool / Connectivity issues
  • custom fact
    • creating, for hiera / Creating a custom fact for use in hiera
  • custom facts
    • about / Custom facts
    • creating / Creating custom facts
  • custom type
    • creating / Creating a new type

D

  • Dashboard
    • about / Puppet Dashboard
    • passenger, using with / Using passenger with Dashboard
    • linking, to Puppet / Linking Dashboard to Puppet
    • reports, processing / Processing reports
    • marionette collective (mcollective) / mcollective
  • debugging option
    • turning on / Debugging
    • branches, creating / Personal and bugfix branches
    • scope / Scope
    • profiling / Profiling and summarizing
    • summarizing / Profiling and summarizing
  • defined types
    • creating / Defined types
    • example / Defined types
  • design pattern
    • about / Design pattern
  • DNS server
    • configuring / Putting it all together
  • DNS zone files
    • about / Putting it all together
  • dynamic environment / Dynamic environments

E

  • echo statements
    • adding / Echo statements
  • Elasticsearch/Logstash/Kibana (ELK)
    • about / Syslog
  • ENC
    • nodes, organizing with / Organizing the nodes with ENC
    • example / A simple example
    • hostname / Hostname strategy
  • ensurable keyword / Creating a new type
  • environment
    • about / Environments
    • and hiera / Environments and hiera
    • multiple hierarchies / Multiple hierarchies
    • single hierarchy / Single hierarchy for all environments
    • dynamic environment / Dynamic environments
  • EPEL
    • URL / Puppet with passenger
  • erb Syntax
    • URL / Module files and templates
  • example$$dns$$server class / Putting it all together
  • example$$laptop class
    • creating / sshkey collection for laptops
  • exceptions
    • dealing with / Dealing with exceptions
  • exported resources
    • about / Exported resource concepts
    • declaring / Declaring exported resources
    • collecting / Collecting exported resources
    • using / Simple example: a host entry
  • exported SSH keys
    • about / Exported SSH keys
    • sshkey collection, for laptops / sshkey collection for laptops
  • External Node Classifier (ENC)
    • about / Foreman
  • Extra Packages for Enterprise Linux (EPEL)
    • about / Installing Foreman
    • URL / Installing Foreman

F

  • files
    • transferring, with Puppet / Module files and templates
  • filesystem ACLs
    • using / Not playing nice with others
  • firewall module
    • about / firewall
  • Foreman
    • about / Foreman
    • installing / Installing Foreman
    • attaching, to Puppet / Attaching Foreman to Puppet
    • using / Using Foreman
  • forge module
    • used, for configuring puppetdb / Configuring puppetdb – using the forge module
  • fragments
    • about / concat
  • full trace
    • running / Full trace of a catalog compile
  • Fully Qualified Domain Name (FQDN) / Organizing the nodes with ENC

G

  • --global option / A simple Git workflow
  • .gitmodules file / Using GitHub for public modules
  • gem command / Creating a new type
  • gem type
    • creating / Creating a new type
  • Git / Git
    • about / Git
    • need for / Why Git?
    • workflow / A simple Git workflow
    • using / Git for everyone
  • git clone command / Using post-receive to set up environments
  • Git documentation
    • URL / Why Git?
  • Git hooks
    • post-receive hook, using / Using post-receive to set up environments
    • puppet-sync / Puppet-sync
  • GitHub
    • URL / Why Git?
    • using, for public modules / Using GitHub for public modules
  • git log command / A simple Git workflow
  • git pull origin <branchname> command / Using post-receive to set up environments
  • git show command / A simple Git workflow
  • gnutls-cli
    • using / Connectivity issues

H

  • hiera
    • about / Hiera
    • configuring / Configuring hiera
    • _include, using / Using hiera_include
    • and environment / Environments and hiera
    • custom fact, creating for / Creating a custom fact for use in hiera
  • hiera_array function / Using hiera_include
  • hiera_hash function / Using hiera_include
  • hiera_include
    • using / Using hiera_include
  • hooks
    • about / A simple Git workflow
  • host entry
    • example / Simple example: a host entry
  • hostname
    • about / Hostname strategy
  • hostname strategy
    • used, with Python ENC script / Modified ENC using hostname strategy
  • hostname_problem class / Modified ENC using hostname strategy
  • http_api
    • URL / Catalog compilation

I

  • inifile module
    • about / inifile
  • ini_subsetting module / inifile
  • installation, activemq / Installing activemq
  • installation, Foreman / Installing Foreman
  • installation, librarian-puppet / Using librarian
  • iptables / firewall
  • IRC
    • about / IRC
  • issue module / concat
  • issue_confidential module / concat
  • issue_secret module / concat
  • issue_topsecret module / concat

J

  • jq
    • URL / Catalog failures

L

  • LDAP backend
    • about / LDAP backend
    • OLC / OpenLDAP configuration
  • librarian
    • about / Using librarian
    • using / Using librarian
  • librarian-puppet
    • about / Using librarian
    • installing / Using librarian
  • Linux System Base (LSB) / Configuring hiera
  • log
    • about / Turning on reporting
  • lvm module
    • about / lvm

M

  • managehome parameter / Defined types
  • mandatory access controls (MAC) / Puppet with passenger
  • marionette collective (mcollective)
    • about / mcollective
    • URL, for installing / mcollective
    • activemq, installing / Installing activemq
    • nodes, configuring / Configuring nodes to use activemq
    • client, connecting to activemq / Connecting a client to activemq
    • using / Using mcollective
  • Message Queue (MQ) tool / mcollective
  • metaparameters
    • about / Resource tags
    • URL / Resource tags
  • modify on collect
    • about / Putting it all together
  • module
    • manifest files / Module manifest files
    • files, transferring with Puppet / Module files and templates
    • naming / Naming a module
  • module command / Modules from the Forge
  • Modulefile file
    • about / Comments in modules
  • modules
    • about / Getting modules
    • obtaining / Getting modules
    • using / Using modules
    • concat / concat
    • inifile / inifile
    • firewall / firewall
    • lvm / lvm
    • stdlib / stdlib
    • creating, with Puppet module / Creating modules with a Puppet module
    • comments / Comments in modules
  • modules, operating on /etc/issue
    • issue / concat
    • issue_confidential / concat
    • issue_secret / concat
    • issue_topsecret / concat
  • modules, Puppet forge / Modules from the Forge
  • multiple definitions
    • solutions / Multiple definitions
  • multiple hierarchies / Multiple hierarchies

N

  • named.conf
    • about / Putting it all together
  • netcat
    • using / Connectivity issues
  • new type
    • creating / Creating a new type
  • NFS / NFS
  • nginx
    • using / One more split
    • downloading / One more split
    • restarting / One last split or maybe a few more
    • configuring / Creating an example CDN role
  • nginx module
    • creating / Creating an example CDN role
  • nodes
    • organizing, with ENC / Organizing the nodes with ENC
    • configuring, to use activemq / Configuring nodes to use activemq

O

  • OLC / OpenLDAP configuration
    • URL / OpenLDAP configuration
  • olcDbConfig parameters
    • URL / OpenLDAP configuration

P

  • parameterized classes
    • about / Parameterized classes
    • example / Parameterized classes
  • parts
    • about / Modified ENC using hostname strategy
  • passenger
    • puppet, using with / Puppet with passenger
    • used, with Dashboard / Using passenger with Dashboard
  • Pluginsync / Using modules
  • post-receive hook
    • about / Git Hooks
    • using / Using post-receive to set up environments
  • postgresql
    • installing / Installing and configuring PostgreSQL
    • configuring / Installing and configuring PostgreSQL
  • PostgreSQL
    • using, through puppetdb configuration / Configuring puppetdb to use PostgreSQL
  • pre-receive hook
    • about / Not playing nice with others
  • problem branch
    • echo statements, adding / Echo statements
  • profiles
    • about / Design pattern
  • providers
    • about / Types and providers
  • public modules
    • GitHub, using for / Using GitHub for public modules
  • Puppet
    • files, transferring with / Module files and templates
    • Foreman, attaching to / Attaching Foreman to Puppet
    • Dashboard, linking to / Linking Dashboard to Puppet
    • installing / Configuring puppetdb – using the forge module, Installing Puppet and puppetdb
  • puppet
    • used, with passenger / Puppet with passenger
  • puppet-sync
    • about / Puppet-sync
    • URL / Puppet-sync
    • using / Puppet-sync
  • puppetclass
    • about / LDAP backend
  • puppetdb
    • configuring, forge module used / Configuring puppetdb – using the forge module
    • installing / Configuring puppetdb – using the forge module, Installing Puppet and puppetdb
    • using / Configuring puppetdb – using the forge module
    • manual installation / Manually installing puppetdb
    • configuring, to use PostgreSQL / Configuring puppetdb to use PostgreSQL
    • using, through Puppet configuration / Configuring Puppet to use puppetdb
  • puppetdb, manual installation
    • Puppet, installing / Installing Puppet and puppetdb
    • puppetdb, installing / Installing Puppet and puppetdb
    • postgresql, installing / Installing and configuring PostgreSQL
    • postgresql, configuring / Installing and configuring PostgreSQL
    • puppetdb, configuring to use PostgreSQL / Configuring puppetdb to use PostgreSQL
    • Puppet, configuring to use puppetdb / Configuring Puppet to use puppetdb
  • puppetdb module
    • about / Using GitHub for public modules
    • URL / Using GitHub for public modules
  • Puppetfile.lock file / Using librarian
  • Puppet forge
    • modules / Modules from the Forge
    • URL / Configuring puppetdb – using the forge module
  • Puppet Labs
    • URL / Hiera, Environments
  • puppetlabs-puppetdb module
    • installing / Modules from the Forge
  • puppetlabs documentation
    • URL / Configuring puppetdb to use PostgreSQL
  • puppetlabs repository
    • URL / Puppet with passenger
  • Puppet module
    • modules, creating with / Creating modules with a Puppet module
  • puppet module install command / Modules from the Forge
  • Python ENC script
    • building, hostname strategy used / Modified ENC using hostname strategy

R

  • r10k
    • about / Using r10k
    • using / Using r10k
  • realize function / Multiple definitions
  • regsubst function / Putting it all together
  • reports
    • about / Turning on reporting
    • URL / Turning on reporting
    • log / Turning on reporting
    • store / Turning on reporting
    • processing, with Dashboard / Processing reports
  • resource definitions
    • moving / Multiple definitions
  • resource tags
    • about / Resource tags
    • exported SSH keys / Exported SSH keys
  • reverse zone file
    • defining / Putting it all together
  • RPM
    • creating / Creating an rpm
  • rsync / Rsync

S

  • --summarize option / Profiling and summarizing
  • scope / Scope
  • Security Enhanced Linux (SELinux) / Puppet with passenger
  • single hierarchy / Single hierarchy for all environments
  • Software Collections (SCL)
    • URL / Installing Foreman
    • about / Installing Foreman
  • sshkey
    • about / Exported SSH keys
  • sshkey collection
    • for laptops / sshkey collection for laptops
  • ssh_client class
    • creating / sshkey collection for laptops
  • Start Of Authority (SOA) / Putting it all together
  • stdin
    • about / Git Hooks
  • stdlib module
    • about / stdlib
    • URL, for functions / stdlib
  • store
    • about / Turning on reporting, Store
  • Storeconfigs / Storeconfigs
  • sub-CDN role
    • creating / Creating a sub-CDN role
  • syslog
    • about / Syslog
  • system
    • about / Types and providers
  • System Security Services Daemon (SSSD) / inifile

T

  • tags
    • about / Putting it all together
  • templates
    • about / Module files and templates
  • time-to-live (ttl)
    • about / stdlib
  • Time.now.gmtime function / Putting it all together
  • type
    • implementing / Types and providers
    • properties / Types and providers
    • creating, for tables / Types and providers

V

  • varnish
    • about / Creating a sub-CDN role
    • URL / Creating a sub-CDN role
  • virtual resources
    • using / Multiple definitions

W

  • wget tool / Connectivity issues
  • workload
    • splitting up / Splitting up the workload
    • certificate, signing / Certificate signing
    • reporting / Reporting
    • Storeconfigs / Storeconfigs
    • Catalog compilation / Catalog compilation
    • code consistency / Keeping the code consistent
  • wrapper class
    • creating / Configuring puppetdb – using the forge module

Y

  • YAML
    • about / A simple example
    • URL / A simple example
  • YUM repository
    • creating / Creating the YUM repository

Z

  • zone file headers
    • about / Putting it all together
  • zone files
    • forward zones / Putting it all together
    • reverse zones / Putting it all together
  • zone function / Creating a custom fact for use in hiera