Puppet
Configuration Management
- Why do we need it? Complexity.
- Even a "simple" web app has a large number of components
Why Puppet and not another one
- SaltStack: homegrown crypt.py
- Ansible: GPLv3
Basic
- Resources
- Declarative
- Facts with Facter
- Access in your code at
$::whatever
Resource Ordering
Writing modules for python apps
class pyapp {
include python
include python::virtualenv
include redis
include nginx
}
- pipx provider
- venv type to create virtualenvs
- venv_package type
Tracking: puppet board
Module development
- Use Vagrant!
- Packer; see his example at github:jbronn/packer-vagrant.git