Index
A
- actions
- automating, with handlers / Automating events and actions with handlers
- Advanced Encryption Standard (AES) / Advanced Encryption Standard
- Ansible
- about / Getting introduced to Ansible
- documentation, URL / Modules
- as orchestrator / Ansible as an orchestrator
- Ansible-Galaxy
- scaffolding, creating for roles / Creating the scaffolding for the roles with Ansible-Galaxy
- Ansible-vault
- about / Ansible-vault
- Advanced Encryption Standard (AES) / Advanced Encryption Standard
- encryption, options / What to encrypt with the vault?
- using / Using the Ansible-vault
- subcommands / Using the Ansible-vault
- data, encrypting / Encrypting the data
- encrypted data, updating / Updating the encrypted data
- encryption keys, rotating / Rotating the encryption keys
- database credentials, encrypting / Encrypting the database credentials
- Ansible configuration
- vault password file option, adding / Adding the vault password file option to the Ansible configuration
- Ansible roles
- array
- defining / Defining an array
- looping / Looping an array
B
- base role
- creating / Creating a base role
- code, refactoring / Refactoring our code – creating a base role
- batch updates / Rolling updates
C
- code
- and data, separating / Separating code and data
- command modules
- about / The command modules
- raw / Using the raw module
- command / Using the command module
- shell / Using the shell module
- script / Using the script module
- conditional control
- about / The conditional control structure
- when statements / The when statements
- in Jinja2 templates / Conditional control structure in Jinja2 templates
D
- database credentials
- encrypting / Encrypting the database credentials
- DB servers
- MySQL role, adding / Applying a MySQL role to the DB servers
- dev environment
- creating / Creating a development environment
E
- encrypted data
- using, in templated / Using encrypted data in templates
- environments
- managing, approaches / Approaches for managing environments
- inventory groups / The inventory groups and variables
- variables / The inventory groups and variables
- nested groups, using in inventory / Approach 1 – using nested groups in an inventory
- environment-specific inventory variables, using / Approach 2 – using environment-specific inventory variables
- dev environment, creating / Creating a development environment
- events
- automating, with handlers / Automating events and actions with handlers
F
- facts
- about / Facts and variables, Fact-based selection
- accessing, for non-playbook hosts / Accessing facts for non-playbook hosts, Facts caching with Redis
- caching, in files / Caching facts in files
- FastCGI Process Manager (FPM)
- about / The PHP5-FPM role
H
- handlers
- used, for automating events / Automating events and actions with handlers
- used, for automating actions / Automating events and actions with handlers
- hash
- creating / Creating a hash
- nested hashes / Nested hashes
- iterating / Iterating a hash
- Htop / Our first playbook
I
- idempotence / The modules and idempotence
- of command modules, controlling / Controlling the idempotence of command modules
- include statements
J
- Jinja2 templates
- about / Jinja2 templates
- formation / The template formation
- conditional control / Conditional control structure in Jinja2 templates
- MySQL template, updating / Updating the MySQL template
L
- limits / Patterns and limits
- load balancer role
- creating / Creating the load balancer role
M
- magic variables
- about / Node discovery with magic variables
- hostvars / Node discovery with magic variables
- groups / Node discovery with magic variables
- group_names / Node discovery with magic variables
- inventory_hostname / Node discovery with magic variables
- play_hosts / Node discovery with magic variables
- metadata
- adding, to role / Adding metadata to the role
- modules
- about / Modules
- and idempotence / The modules and idempotence
- MySQL databases
- creating / Creating MySQL databases and user accounts
- MySQL role
- about / Adding another layer – the MySQL role
- scaffolding creating, Ansible-Galaxy used / Creating the scaffolding for the roles with Ansible-Galaxy
- metadata, adding / Adding metadata to the role
- variables, using in tasks / Using variables in tasks and handlers
- variables, using in handlers / Using variables in tasks and handlers
- adding, to DB servers / Applying a MySQL role to the DB servers
- refactoring / Refactoring the MySQL role
- multilevel variable dictionaries / Multilevel variable dictionaries
- hashes, merging / Merging hashes
- server, configuring / Configuring the MySQL server selectively
- MySQL template
- updating / Updating the MySQL template
N
- nested playbook
- nesting
- Nginx
- configurations, templating / Templating the Nginx configurations
- virtual hosts, creating / Creating Nginx virtual hosts
- PHP site information, defining / Defining the PHP site information
- SSL support, adding / Adding SSL support to Nginx
- Nginx role
- creating / Creating an Nginx role
- dependencies, adding / Adding role dependencies
- files, managing for / Managing files for Nginx
- non-playbook hosts
- facts, accessing for / Accessing facts for non-playbook hosts, Facts caching with Redis
O
- orchestration
- about / Ansible as an orchestrator
- multiple playbooks and ordering / Multiple playbooks and ordering
- pre-tasks and post-tasks / Pre-tasks and post-tasks
- delegation / Delegation
- updates, rolling / Rolling updates
- tests / Tests
- tags / Tags
- patterns / Patterns and limits
- limits / Patterns and limits
- orchestration playbook
- creating, for WordPress / Creating an orchestration playbook for WordPress
P
- parameterized include
- password file
- using / Using a password file
- patterns / Patterns and limits
- patterns, playbook
- about / Patterns
- PHP5-FPM role
- about / The PHP5-FPM role
- array, defining / Defining an array
- array, looping / Looping an array
- playbook
- about / YAML – the playbook language, Our first playbook
- hosts inventory / Creating a host inventory
- patterns / Patterns
- tasks / Tasks
- running / Running the playbook
- pre task / Adding pre-tasks and post-tasks to playbooks
- post task / Adding pre-tasks and post-tasks to playbooks
- running, with roles / Running playbooks with roles
- running, with roles+ / Running playbooks with roles
- playbooks
- variables / Using variables in playbooks
- plays
- about / Plays
- parts / Our first playbook
R
- raw, command module / Using the raw module
- roles
- about / Understanding roles
- naming / Naming roles
- directory layout / The directory layout for roles
- used, for running playbooks / Running playbooks with roles
- executing, conditionally / Executing roles conditionally
- tagging / Tagging the roles
S
- script, command module / Using the script module
- shell, command module / Using the shell module
- shell module
- used, for extracting WordPress / Extracting WordPress with a shell module
- site-wide playbook / Creating a site-wide playbook, nesting, and using include statements
- SSL support
- adding, to Nginx / Adding SSL support to Nginx
- static content explosion
- about / Static content explosion
T
- task
- running once / Running a task only once
- tasks
- about / Tasks
- modules / Modules
- creating / Creating tasks
- templates
- encrypted data, using / Using encrypted data in templates
U
- user accounts
- creating / Creating MySQL databases and user accounts
V
- variable
- precedence / Variable precedence
- usage, best practices / The best practices for variable usage
- variables
- about / Automatic variables – facts
- user-defined variables / User-defined variables
- defining / Where to define a variable
- defining, ways / How to define a variable
- using, in tasks / Using variables in tasks and handlers
- using, in handlers / Using variables in tasks and handlers
- creating / Creating variables
- playbooks / Using variables in playbooks
- vault password file option
- adding, to Ansible configuration / Adding the vault password file option to the Ansible configuration
W
- when statements
- about / The when statements
- fact-based selection / Fact-based selection
- with statement
- about / The omnipotent with statement
- WordPress
- application, deploying / Deploying a WordPress application – a hands-on approach
- installing / Installing WordPress
- installing, URL / Installing WordPress
- command modules, idempotence controlling / Controlling the idempotence of command modules
- variables registered / The registered variables
- extracting, with shell module / Extracting WordPress with a shell module
- configuring / Configuring WordPress
- requisites, configuring / Configuring WordPress requisites
- orchestration playbook, creating / Creating an orchestration playbook for WordPress
- www playbook
- creating / Creating the www playbook
- custom role paths / The default and custom role paths
- roles, parameterizing / Parameterizing the roles
Y
- YAML
- about / YAML – the playbook language
Z
- zero downtime updates / Rolling updates