DOJO Puppet
What is Puppet?
- Configuration management solution
- Puppet Labs (founded in 2005)
- Open source
- Agent-master architecture
- Infrastructure as Code (IaC)
- Code in Puppet & Ruby languages
- Framework (modules)
- Enterprise version available
Why Puppet?
- Important community
- Cross-platform (*nix, Windows, Mac)
- Leading actor in DevOps research
- Clean separation between code and data
- Many documentation and learning resources
- Lot of existing modules
- Works with Jenkins, Azure, AWS
Alternatives
- Ansible
- Chef
- Octopus Deploy
Key principles
- KISS = Keep It Simple Stupid
- DRY = Don't Repeat Yourself
- Idem-potency
- Treat your infra as your apps (TDD/CI/CD)
- Automate 100% of system actions
Glossary
Puppet server filesystem
/etc/puppetlabs:
- code:
- environments:
- development:
- production:
- data:
- common.yaml
- manifests:
- site.pp
- modules:
- site:
- environment.conf
- hiera.yaml
- Puppetfile
- modules:
- puppet:
- ssl:
- hiera.conf
- puppet.conf
/opt/puppetlabs/server/data/puppetserver:
/var/log/puppetlabs/puppetserver:
Starting points
- puppet.com/docs
- learn.puppet.com
- Writting module
- Puppet code logic
- Role/Profile pattern
DOJO Puppet
By Bertrand Thomas
DOJO Puppet
- 445