Index
A
- and expression / Boolean operators
- APT / Packages
- arbitrary command
- architecture / System facts
- arithmetic operators
- about / Arithmetic operators
- arrays
- resources, grouping into / Grouping resources into arrays
- about / Arrays, Arrays and hashes, Arrays
- definitions / Definitions
- resources, grouping with / Grouping resources with arrays
- values, getting out / Getting values out of arrays
- artisan server crafting
- attributes
- about / Resources and attributes
- automatic pull-and-apply script
B
- backup
- scheduling / Time for action – scheduling a backup, What just happened?
- base-server declaration / Keep node declarations simple
- bitwise shift operators / Arithmetic operators
- BOFH syndrome / Last word
- boolean operators
- combining / Combining Boolean operators
- branching
- about / Branching
C
- capture variable / Capture variables
- case statement
- about / Case statements
- default case / The default case
- cat-pictures.com / A day in the life of a sysadmin
- changes
- repeating, across servers / Repeating changes across many servers
- pushing, to master repo / Time for action – pushing changes to the master repo
- automatic pulling / Pulling changes automatically
- class
- classes
- about / Classes, Classes
- defining / Defining classes
- putting, into modules / Putting classes inside modules
- declaring / Declaring classes
- and definition, differentiating / What's the difference between a class and a definition?
- class keyword / What just happened?, Defining classes
- cloud scaling / Cloud scaling
- code
- breaking, into modules / Break out code into modules
- refactoring, into definitions / Refactor common code into definitions
- command line options / Mistyped command line options
- commands
- running, with exec resources / Running commands with exec resources
- arbitrary command, running / Time for action – running an arbitrary command, What just happened?
- running selectively / Running commands selectively
- trigerring / Triggering commands
- chaining / Chaining commands
- search paths / Command search paths
- comment attribute / What just happened?
- comments
- about / Make comments superfluous
- commit
- about / How often should I commit?
- comparison expression
- about / Comparisons
- comparisons
- equality / Equality
- magnitude / Magnitude
- substrings / Substrings
- compilation errors / Compilation errors
- conditionals
- about / Conditionals, Conditionals, Conditionals
- If statements / If statements
- case statements / Case statements
- selectors / Selectors
- capture variable / Capture variables
- configuration management
- about / Configuration management
- configuration management system (CM system)
- tools / Configuration management tools
- configuration management system (CM system). / Reinventing the wheel
- Core Facts Reference
- URL / Facts
- creates attribute / Running commands selectively
- cron resource / Scheduled jobs
- cwd / Running commands selectively
D
- daemons / What just happened?
- debug output
- about / Debug output
- notify resource / Notify resources
- debug runs
- about / Debug runs
- declarative programming language
- about / The Puppet language
- declarative style / The Puppet language
- default case, case statement / The default case
- definition
- about / Definitions, What's the difference between a class and a definition?
- parameters, passing / Passing parameters to definitions
- creating, for Nginx websites / Time for action – creating a definition for Nginx websites, What just happened?
- multiple instances / Multiple instances of definitions
- common code, refactoring into / Refactor common code into definitions
- directory structure
- DMI images
- installing, from Puppet Labs website / Time for action – installing Puppet
- documentation
- self-updating / Self-updating documentation
- dry-run mode
- about / Noop runs, Debug and dry-run modes
E
- else branch / else and elsif
- elseif statement / else and elsif
- else statement / else and elsif
- equality, comparisions / Equality
- ERB / Doing the math
- errors
- about / Errors
- compilation errors / Compilation errors
- diagnosing / Diagnosing errors
- file sources, missing / Missing file sources
- parent directory, missing / Missing parent directory
- command line options, mistyped / Mistyped command line options
- exec output
- about / Exec output
- exec resource / Exec resources
- exec resources
- commands, running with / Running commands with exec resources
- exit status / Specifying expected exit status
- expression
- boolean operators / Boolean operators
- arithmetic operators / Arithmetic operators
- expressions
- about / Expressions
F
- Facter / System facts, Facts
- facts, puppet manifest
- architecture / System facts
- fqdn / System facts
- hostname / System facts
- ipaddress / System facts
- memorysize / System facts
- operatingsystem / System facts
- files
- about / Files, Files
- virtual host, deploying / Time for action – deploying a virtual host, What just happened?
- file sources
- missing / Missing file sources
- fqdn / System facts
G
- Git
- manifest, importing / Time for action – importing your manifests into Git, What just happened?
- about / Learning more about Git
- git whatchanged command / What just happened?
H
- hashes
- about / Hashes, Hashes
- multilevel hashes / Multilevel hashes
- hash keys, testing / Testing hash keys
- hasstatus / Services that don't support "status"
- home attribute / What just happened?
- hostname / System facts
I
- if statements / If statements
- infrastructure as code
- about / Infrastructure as code
- inline_template function / Inline templates
- installing, Puppet
- prerequisites / Time for action – preparing for Puppet
- steps for / Time for action – installing Puppet
- ipaddress / System facts
- issues
- about / The problem
- solving / Solving the problem
J
- jen user / The Puppet language
- jobs
- running, at regular intervals / Running jobs at regular intervals
- running, as specified user / Running a job as a specified user
- scheduled / Scheduled jobs
K
- key / Hashes
L
- logical expression / Equality
M
- -m switch / What just happened?
- magnitude, comparisions / Magnitude
- manifest / Configuration management
- about / Your first manifest, Manifests
- Puppet, applying / Your first manifest
- applying / Applying the manifest, What just happened?
- existing files, modifying / Modifying existing files
- organizing / Organizing your manifests
- directory structure, creating / Time for action – creating a directory structure
- nodes.pp file, creating / Creating a nodes.pp file
- importing, in Git / Time for action – importing your manifests into Git, What just happened?
- changing / Time for action – committing and inspecting changes, What just happened?
- distributing / Distributing Puppet manifests
- reliability / Reliability
- scalability / Scalability
- simplicity / Simplicity
- master Git repo
- creating / Time for action – creating a master Git repo
- master repo
- cloning, to new machine / Time for action – cloning the repo to a new machine
- changes, pushing to / Time for action – pushing changes to the master repo
- memorysize / System facts
- messages
- printing / Printing messages
- modules
- about / Modules, Modules
- Nginx module, creating / Time for action – creating an Nginx module, What just happened?
- code, breaking into / Break out code into modules
- monitoring
- about / Monitoring
- managing, with puppet / Managing monitoring with Puppet
- puppet status / Monitoring Puppet status
- puppet / Monitoring Puppet
- MSI images
- installing, from Puppet Labs website / Time for action – installing Puppet
- multilevel hash / Hashes
- multilevel hashes / Multilevel hashes
N
- ! (not) operator / Boolean operators
- --noop flag / Noop runs
- Nginx
- installing / Time for action – installing Nginx
- nginx class / Putting classes inside modules
- Nginx module
- nginx service
- Nginx websites
- definition, creating for / Time for action – creating a definition for Nginx websites, What just happened?
- no-operation
- about / Noop runs
- node
- adding / Time for action – adding a new node
- declarations / Keep node declarations simple
- node declaration
- about / Creating a nodes.pp file, Nodes
- creating / Time for action – creating a node declaration
- node definitions / Node definitions
- nodes.pp file
- creating / Creating a nodes.pp file
- noop runs
- about / Noop runs
- notify
- about / Notifying other resources
- notify resource / Notify resources
- NTP class
O
- onlyif attribute / Running commands selectively
- operands / Magnitude
- operatingsystem / System facts
- operators
- about / Operators
- OPTIONAL_SOMETHING / If statements
- or operator / Boolean operators
P
- package
- removing / Packages
- packages
- about / Packages
- Nginx, installing / Time for action – installing Nginx
- specific versions, installing / Installing specific versions
- removing / Removing packages
- updating / Updating packages
- parameters
- passing, to definition / Passing parameters to definitions
- optional / Optional parameters
- about / Definitions
- parent directory / Missing parent directory
- private key / What is SSH?
- procedural style / The Puppet language
- projects
- about / Projects
- Puppet everywhere / Puppet everywhere
- user accounts / User accounts
- system toolbox / System toolbox
- time sync / Time sync
- monitoring server / Monitoring server
- key services, puppetizing / Puppetize your key services
- backups, automating / Automate backups
- staging servers, setting up / Set up staging servers
- automate everything / Automate everything
- public key / What is SSH?
- pull-updates script / What just happened?
- puppet
- advantages / The Puppet advantage, The Puppet advantage
- about / What is Puppet?
- language / The Puppet language, The Puppet language
- resources / Resources and attributes
- uses / What Puppet does
- scaling / Scaling
- monitoring, managing / Managing monitoring with Puppet
- issues / Problems with Puppet, Common Puppet errors
- style / Puppet style
- code, breaking into modules / Break out code into modules
- learning, resources / Puppet learning resources
- Puppet
- installing, prerequisites for / Time for action – preparing for Puppet
- installing, steps for / Time for action – installing Puppet
- manifest file, creating / Your first manifest
- manifest file, applying / Applying the manifest, What just happened?
- existing files, modifying / Modifying existing files
- manifests, organizing / Organizing your manifests
- packages / Packages
- features / What Puppet can do
- user, creating / Time for action – creating a user, What just happened?
- puppet-lint
- about / Use puppet-lint
- puppet apply command
- Puppet Cookbook
- URL / The Puppet Cookbook
- PuppetDB / Managing monitoring with Puppet
- Puppet Forge
- URL / Puppet Forge
- Puppet Labs style guidelines
- URL / Style
- Puppet Language Reference
- URL / Language and syntax
- puppet learning, resources
- reference / Reference
- types / Resource types
- language and syntax / Language and syntax
- facts / Facts
- modules and code / Modules and code
- Puppet Forge / Puppet Forge
- Puppet Cookbook / The Puppet Cookbook
- Puppetmaster / What just happened?
- about / Networking Puppet
- Puppet status
- monitoring / Monitoring Puppet status
- Puppet Type Reference
- URL / Resource types
R
- ! $raining / Boolean operators
- recursive file resource
- refactoring / What just happened?
- common code, into definition / Refactor common code into definitions
- refreshonly attribute / Triggering commands, Exec resources
- regsubst function / Text substitution
- regular expression
- about / Regular expressions, Regular expressions
- operators / Operators
- syntax / Syntax
- conditionals / Conditionals
- substitutions / Substitutions
- node definitions / Node definitions
- reporting / Reporting
- about / Reporting
- reports
- about / Reporting
- summary reports / Summary reports
- enabling / Enabling reports
- generating / Time for action – generating a report, What just happened?
- using / Using reports
- repository / What just happened?
- require attribute / What just happened?, Requiring resources
- resource
- dependencies / Resource dependencies
- resource-like way / Classes
- resources
- about / Resources and attributes, Configuration management, Requiring resources
- grouping, into arrays / Grouping resources into arrays
- grouping / Definitions
- grouping, with arrays / Grouping resources with arrays
- for learning puppet / Puppet learning resources, Facts
- root account / Security and access control
- Ruby regular expression syntax
- URL / Syntax
- Run my arbitrary command / What just happened?
S
- scheduling
- about / Scheduled tasks
- backup / Time for action – scheduling a backup
- options / More scheduling options
- security and access control
- about / Security and access control
- selectors / Selectors
- service pattern
- about / The package–file–service pattern
- services
- about / Services, More about services, Services
- nginx service, adding / Time for action – adding the Nginx service, What just happened?
- starting, at boot time / Starting a service at boot time
- with no support status / Services that don't support "status"
- starting / Specifying how to start, stop, or restart a service, Starting services at boot
- restarting / Specifying how to start, stop, or restart a service
- stopping / Specifying how to start, stop, or restart a service
- status, options / Service status options
- control commands / Service control commands
- singletons / What's the difference between a class and a definition?
- SSH
- about / What is SSH?
- keys, managing / Managing SSH keys, Managing SSH keys
- authorized key, adding / Time for action – adding an SSH authorized key
- keys, generating / Generating new SSH keys
- special-purpose keys / Special-purpose keys
- configuration, managing / Managing SSH configuration
- configuration file, deploying / Time for action – deploying an SSH configuration file
- configuring / Configuring SSH
- SSH authentication / What just happened?
- ssh module / Time for action – deploying an SSH configuration file
- STRING argument / Substitutions
- substitutions / Substitutions
- substrings, comparisions / Substrings
- sudo
- privileges, managing with / Managing privileges with sudo
- sudo command / sudo
- sudoers file
- deploying / Time for action – deploying a sudoers file
- syntax / Time for action – deploying a sudoers file
- syntax
- checking / Syntax checking
- sysadmin
- tasks / A day in the life of a sysadmin
- job satisfaction / Job satisfaction
T
- tasks
- scheduling / Scheduled tasks
- template
- using / Using templates
- Nginx virtual host / Time for action – templating an Nginx virtual host
- inline templates / Inline templates
- about / Templates
- template function / What just happened?
- text substitution / Text substitution
U
- unless attribute / Running commands selectively
- unless command / Running commands selectively
- unless statement / Unless statements
- user
- creating / Time for action – creating a user, What just happened?
- accounts, removing / Removing user accounts
- accounts, locking / Locking user accounts, Removing or locking accounts
- resources / User resources
- removing / Removing or locking accounts
- user privileges
- about / User privileges
- sudo command / sudo
- sudoers file, deploying / Time for action – deploying a sudoers file
- user resource
- about / What just happened?
- users
- about / Users
- security and access control / Security and access control
V
- value / Hashes
- version control
- visudo command / Time for action – deploying a sudoers file