Open Source Puppet
Introductory materials: Puppet and its ecosystem
Best practices
- Puppet tips and tricks
- Deploying code: Set up r10k and deploy code from your control repo
- Deploying code: What is a Puppetfile?
- Deploying code: What the heck is a control repo?
- Extending Puppet
- Module design patterns
Module development
- Getting the source code for a Forge module
- Adopting a "puppetlabs" module
- Contributing a pull request
- Reporting a problem with a module
- Validating a module on different Puppet versions
- Demo: Litmus Terraform 📹📍
Infrastructure and deploying code
Performance tuning
- Tools to help you interpret Puppet infrastructure metrics 📍
- Identify and fix performance issues caused by frequent garbage collection in Puppet 📍
- Demo: Performance analysis with Honeycomb 📹 📍
- Determine a thundering herd condition in Puppet 📍
- Diagnose, stop, and prevent a thundering herd for Puppet📍
- Mitigating a thundering herd: Run Puppet out of Cron 📍
Puppet agent
- Use Bolt to install Puppet agent on different platforms at the same time📍
- Agent run fails after enabling package data collection (“package_inventory_d”) in Puppet 4.0 and later 📍
- Agent side functions
- Ensure that fact-based classification and automation work as expected by uploading facts to the master in Puppet 6.5 to 6.10.1📍
- Identifying nodes where the Puppet daemon is enabled or disabled📍
- Increase the log level to debug on Windows and *nix agent nodes in Puppet📍
Bolt and its integrations
- Learn how to use Bolt 📹
- Ad hoc and imperative deployment workflows using Bolt tasks and plans📍
- Automating Puppet at scale with Bolt and the node_manager module
- Bolt Developer Updates November 2020
- Bolt Developer Updates September 2020
- Demo: Bolt file downloads 📹📍
Puppet Community and other resources
- Puppet Camp call for papers now open for March and April
- 2019 State of DevOps Report: Improve your security posture
- Catch up with the official Puppetize PDX recap
- Get started with the Puppet Learning VM
- How can I join and get help from the Puppet community?
- Links to Puppet Community information
PuppetDB
Puppet Server
- Common Hiera formatting and syntax errors in Puppet 📍
- Change the log level for Puppet services in Puppet 4.0 and later 📍
- Configure gemrc to specify a local gem repository for Puppet📍
- Enable garbage collection logging for services in Puppet📍
- Links to Puppet Server information
- Puppet Server: advanced memory debugging
Puppet services
- Welcome to the new OSP Assist Portal!
- Can't sign in to the Open Source Portal?
- Get Puppet training
- Get the latest version of open source Puppet
- Interested in Puppet Professional Services?
- Puppet Practitioner training is available virtually
Security and certificates
- Add certificates to the Puppet certificate bundle for Puppet 5.0 and later📍
- Clean certificates in Puppet 5.0 and 6.0 using a task 📍
- Create a trusted fact, verify it, and then reference it in Hiera in Puppet 📍
- Enable SSL encrypted communication between PuppetDB and PostgreSQL in Puppet 5.0 and later📍
- Extend the expiry date of your CA certificate in Puppet 5.0 and later📍
- Learn more about security and bug fixes for Puppet products