Open Source Puppet
Introductory materials: Puppet and its ecosystem
- All the ways to manage files with Puppet
- Automating from zero to something
- Boost your skills with Puppet Practice Labs
- Contribute content to the OSP Assist Portal
- Getting started: What tool do I want?
- Introduction to the Puppet language 📹
Best practices
- Getting started with the Puppet Resource API
- Layering control repos to empower multiple teams 📹
- Repair Puppet software by reinstalling packages
- 4 key observability metrics for distributed applications
- Advanced troubleshooting: dig deeper with pry
- Best Practices for building containers
Module development
- Puppet Content Templates 0.1.0 released
- Puppet Camp 2021: Become a Better Developer📹
- Introduction to Testing Puppet Modules 📹
- PDK 2.1.0 is now available
- Test Puppet modules with Litmus and Vagrant
- Puppet Development Kit (PDK) 2.0.0 is now available
Infrastructure and deploying code
- Tips for using the Puppet Powershell Module
- Migration resources: What's changed since Puppet 3?
- Safely Modernizing Legacy Puppet with Onceover 📹
- Open source Puppet migration resources
- PowerShell DSC: The next generation
- Tools to help you migrate to modern Puppet
Performance tuning
- Demo: Performance analysis with Honeycomb 📹
- Identify and fix performance issues caused by frequent garbage collection in Puppet 📍
- 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 📍
- Prevent a thundering herd: Use max-queued-requests in Puppet 5.3.1 and later📍
Puppet agent
- 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 primary server 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📍
- Links to Puppet agent information
Bolt and its integrations
- Learn how to use Bolt 📹
- A brief introduction to scripts
- Ad hoc and imperative deployment workflows using Bolt tasks and plans📍
- Automating Puppet at scale with Bolt and the node_manager module
- Bolt 2.44.0 is now available
- Bolt 3.0 is now available
Puppet Community and other resources
- Content templates: Exploring the new PDK templating system 📹
- How the Vox Pupuli community maintains open source Puppet 📹
- Puppet’s updated Contributor License Agreement (CLA)
- Read the 2021 State of DevOps Report
- Self-Healing Auto-Remediation in the World of Observability
- 2019 State of DevOps Report: Improve your security posture
PuppetDB
Puppet Server
- 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
- Removing nodes: Understanding how to remove nodes in both Puppet Server and PuppetDB📍
Puppet services
- Can't sign in to the OSP Assist portal?
- Get Puppet training
- Get the latest version of open source Puppet
- Interested in Puppet Professional Services?
- Puppet Practitioner training is available virtually
- Welcome to the OSP Assist Portal!
Security and certificates
- Add certificates to the Puppet certificate bundle for Puppet 5.0 and later📍
- Apply the Roles and Profiles Method to Compliance Code
- 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📍
- Enforce CIS benchmarks on Linux with open source Puppet