Planet Puppet

Your source of Puppet technical information

2021-03-19: IAC Team Status Update

pmcmaw, 1 day, 13 hours | Source: Puppet IAC Team

Happy St Patricks Day

All of the team located in Belfast were off on Wednesday this week for St Patricks day. For everyone it was pretty quiet due to local restrictions in place but nice to get a break in the middle of the week! :-)


Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

[ Read More ]

Immutability & loose coupling: a match made in heaven

Raphaël Pinson, 2 days, 5 hours | Source: Camptocamp Blog

When it comes to infrastructure and deployment automation, two opposite approaches share the podium: mutable vs immutable management.

Mutable Systems

Mutable systems usually have a long life cycle, typically in the order
of weeks to years. As their requirements change (new files,
configurations, users, packages, etc.), the systems are modified to
match a new target state. When left unmanaged, mutable systems tend to
drift away from their target state, in a divergent dynamic.

Convergence Models in Mutable Systems

Automating mutable systems is often referred to as Configuration Management, and leverages tools such as Cfengine, Puppet, Chef, or Ansible. This tooling ...

[ Read More ]

Take the 2021 State of DevOps Survey, be part of our 10-year history

Anonymous, 2 days, 23 hours | Source: Puppet

Take the 2021 State of DevOps survey & contribute to the largest body of DevOps research in our industry. We’ll donate to a cause for each completion!

[ Read More ]

CentOS End of Life - Well, what comes next?

Christopher Hornberger, 1 week, 1 day | Source: Camptocamp Blog

CentOS End of Life - Well, what comes next?

Six years after the takeover of CentOS by Red Hat, they announced on 2020-12-08 that the support for CentOS Linux 8 will be discontinued at the end of 2021.

However, updates for the CentOS Linux 7 version should still be available until the end of RHEL 7 life cycle in June 2024.

Since the information online are very vague and no reliable sources can be found at the moment, we would like to point out concrete solutions on how CentOS can be replaced easily and cost-effectively.

We currently assume that the ...

[ Read More ]

2021-03-12: IAC Team Status Update

DavidS, 1 week, 1 day | Source: Puppet IAC Team

Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

[ Read More ]

Announcing Support for DISA STIGs in Puppet Comply

Anonymous, 1 week, 2 days | Source: Puppet

Puppet’s latest update to Puppet Comply makes it drastically easier for organizations to assess and demonstrate compliance with DISA STIGs.

[ Read More ]

Enforcing CIS benchmarks on Linux using Puppet

Anonymous, 1 week, 3 days | Source: Puppet

Discover how to quickly apply CIS benchmarks to your Linux infrastructure and implement a Forge module in a profile.

[ Read More ]

2020 DevOps Salary Report: Find out how your salary compares

Anonymous, 1 week, 4 days | Source: Puppet

Puppet’s latest DevOps Salary Report reveals that tech salaries rose worldwide despite the pandemic and global business slowdowns.

[ Read More ]

2021-03-05: IAC Team Status Update

sheenaajay, 2 weeks, 1 day | Source: Puppet IAC Team

Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

[ Read More ]

TKGI: Observability challenge

Philippe Bürgisser, 2 weeks, 2 days | Source: Camptocamp Blog


In this post we’re going to review the observability options on a Kubernetes multi-cluster managed by VMware TKGI (Tanzu Kubernetes Grid Integrated).

When deployed using the TKGI toolset, Kubernetes comes with a concepts of metric sinks to collect data from the platform and/or from applications. Based on Telegraf, the metrics are pushed to a destination that has to be set in the ClusterMetricSink CR object.

In our use case, TKGI is used to deploy one Kubernetes cluster per application/environment (dev, qa, prod) from which we need to collect metrics. At this customer, we also operate a Prometheus stack ...

[ Read More ]

2021-02-26: IAC Team Status Update

daianamezdrea, 3 weeks, 1 day | Source: Puppet IAC Team

Community Contributions

We’d like to thank the following people in the Puppet Community for their contributions over this past week:

[ Read More ]

Easily deploy an SKS cluster on Exoscale with Terraform

Mickaël Canévet, 3 weeks, 2 days | Source: Camptocamp Blog

Following the recent announcement of Exoscale's managed Kubernetes service, we gave it a test run to deploy our standard stack of tools. As usual, we wanted to do it "as Code", so we chose Terraform for the task.

Since the release of Exoscale's Terraform provider v0.22.0, it is now possible to create SKS clusters as code.

To deploy a cluster you'll need to create all these resources:

  • An exoscale_sks_cluster,
  • One or more exoscale_sks_nodepools,
  • An exoscale_affinity per node pool to ensure that all nodes in a pools are in the same anti-affinity group in case of outage in ...

[ Read More ]

Puppet Tip 119 - Hiera merge behavior

Anonymous, 1 month, 1 week | Source: Example 42

Hiera v5 allows you to provide information regarding merge behavior in a couple of different ways. Using different merge behaviors allows you to e.g. separate common (admin) users from application users by adding common users in common hiera layer and the application users into an application hiera layer. This reduces duplicates in data and allow more simple data management. Another example is installation of packages. You usually have a list of packages you need on all systems (admin packages) and some packages which are needed on special systems only. Again you can mention all common packages in hiera common laxer ...

[ Read More ]

From 2020 to 2021

Anonymous, 2 months, 1 week | Source: Example 42

We are at the beginning of a new year, example42 wishes all customers, partners, colleagues, friends, and supporters a healthy, successful, and happy 2021. Looking back on 2020 Lookout to 2021 Looking back on 2020 2020 has been difficult for many people and organizations. Many of them have suffered due to lockdown and to local restrictions. Just consider musicians, artists and their crews who had to cancel event after event. Or think about local small business which had to close their shops. Others were able to continue their business and we are super happy that our customers enabled example42 to ...

[ Read More ]

Digging out data in style with puppet 4.5.0

Unknown (, 2 months, 1 week | Source: Puppet on the Edge

In Puppet 4.5.0 there are a couple of new functions dig, then and lest that together with the existing assert_type and with functions makes it easy to do a number of tasks that earlier required conditional logic and temporary variables.

You typically run into a problem in programming languages in general when you are given a data structure consisting of hashes/arrays (or other objects), and you need to “dig out” a particular value, but you do not know if the path you want from the root of the structure actually exists.

Say you are given a hash like this: ...

[ Read More ]

Slicing and dicing Forge usage data

Anonymous, 3 months, 1 week | Source:

The Forge content ecosystem is large and complex. There are a lot of modules, and modules that use resources from other modules. It can be hard to navigate these relationships when you’re deciding how to invest development resources. For example, it’s useful to know how many modules call a function when deciding whether we should deprecate it.

To assist in making these decisions, the Ecosystem program maintains a publicly accessible database that can help you weigh the costs of some of these decisions. You can use the data directly using the BigQuery console, or if your need is simply ...

[ Read More ]

Puppetize Digital - example42 talk about GIT workflows

Anonymous, 4 months, 1 week | Source: Example 42

Puppetize Digital is coming! November 19th! example42 is super excited that we are again delivering a talk to a Puppet conference. This year Martin Alfke is talking about GIT workflows. The talk was prerecorded as Martin recovers from a dental surgery and will be broadcasted on November 19th at 1:30 PM (GMT) and at 2:30 PM (AEDT). Puppet and GIT Single long living branch - simple GIT Staging branches GIT flow Summary Puppet and GIT Working on Puppet always is fun. But working with GIT is hard for many people who are new to GIT. Single long living branch - ...

[ Read More ]

All our good reasons to sponsor Puppettize Digital

Anonymous, 4 months, 1 week | Source: Example 42

Another year, another Puppet conference, and another time we are sponsoring it. Let’s see what, how and why. Puppettize Digital Sponsors, as usual Presenting at Puppettize Digital Puppet, for fun and business Puppettize Digital Puppettize Digital will be a 24 hours online event, on November 19, sprayed on three different continents timezones: Asia Pacific: 10:00 AM - 6:00 PM AEDT Europe 9:00 AM - 5:00 PM GMT Americas 9:00AM - 5:00 PM PST In GMT timezone this means: Asia Pacific: 11:00 PM (Nov 18) - 7:00 AM Europe 9:00 AM - 5:00 PM Americas 5:00 PM - 1:00 AM (Nov ...

[ Read More ]

How to update the PostgreSQL version on your puppetserver

admin, 5 months | Source: Immerda Techblog

Our puppetserver uses puppetdb which users PostgreSQL as the persistent datastore in the back.
So far everything is self-contained on the same VM and PostgreSQL is more less managed by the puppetdb module.
The puppetdb module takes care of setting up the PostgreSQL server and uses the upstream PostgreSQL yum module for the binaries. By default it uses PostgreSQL in version 9.6.

Lately, it was announced that puppetdb will start requiring PostgreSQL at least in version 11. Time to start to upgrade our PostgreSQL installation to be ready.

Since the upstream yum repository allows to install multiple version in parallel ...

[ Read More ]

Porting a module to RHEL 8

Anonymous, 5 months, 2 weeks | Source:

Often, updating a Puppet module to work on a newer platform is mostly a case of fixing up a a few paths or package names. Sometimes though, more significant changes are called for. When updating to RHEL (or family) 8, here are some major changes that we’ve had to account for:

  • dnf is the new standard package manager.
  • Some services only log to systemd now and not to /var/log/*
  • has finally been superseded by Wayland.
  • iptables had been replaced with nftables.
  • The default Python version is now 3.x.
  • Replacing ntpd with the new chrony service. Yes, that means ...

[ Read More ]