Planet Puppet

Your source of Puppet technical information

Register for Puppetize Digital today! Plus CFP deadline is Friday

Anonymous, July 27, 2021 05:00 PM | Source: Puppet

Register for Puppetize Digital (Sept 29-30), learn more details about the event, and don’t forget to submit your CFP by Friday, July 30!

[ Read More ]

Why should you use CIS Benchmarks?

Anonymous, July 23, 2021 01:58 PM | Source: Puppet

Learn why CIS is the standard to measure against and why Puppet chose to partner with CIS to benefit our customers.

[ Read More ]

The 2021 State of DevOps Report is here!

Anonymous, July 20, 2021 12:49 PM | Source: Puppet

Read the 2021 State of DevOps Report to learn why firms are stuck in the middle of DevOps evolution, how automation and cloud relate, and more!

[ Read More ]

Integrate an Application with Prometheus Operator and Package with a Helm Chart

Julien Acroute, July 19, 2021 08:59 AM | Source: Camptocamp Blog

In the previous posts, we saw:

  • how to implement metrics in applications
  • how to run the monitoring stack locally
  • how to test and debug metrics generated by a simple Python Flask application

In this post we will:

  • use Kubernetes Custom Resources to integrate our application with the Prometheus Operator
  • define some alerts based on the metrics generated by the application
  • deploy a custom dashboard in Grafana
  • package everything in a Helm chart, including a Grafana dashboard

Connect Prometheus to your Application

Prometheus will retrieve metrics from Pods with a /metrics HTTP endpoint. If the Prometheus Operator is deployed in your ...

[ Read More ]

2021-07-16: IAC & DevX Team Status Update

carabasdaniel, July 16, 2021 12:00 AM | Source: Puppet IAC Team

New Blog Schedule

Hey, folks! Just a very quick news item to let you know that from today forward we’ll be moving our blog posts from Friday to Monday, bringing them into line with the rest of our work on Community Days.

Community Contributions

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

[ Read More ]

Boost your skills with Puppet Practice Labs

Anonymous, July 12, 2021 01:00 PM | Source: Puppet

Learn how to use Puppet products right in the browser with Puppet Practice Labs—no downloads required. Simply log in and start learning in minutes. Any time, anywhere.

[ Read More ]

2021-07-02: IAC & DevX Team Status Update

binford2k, July 02, 2021 12:00 AM | 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:

Check all the ways to reach us if you want to directly contact us about anything module related. ...

[ Read More ]

Anonymous, June 25, 2021 09:42 AM | 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 ]

2021-06-25: IAC & DevX Team Status Update

@peculiarism, June 25, 2021 12:00 AM | 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 ]

Enable OpenShift login on ArgoCD from GitOps Operator

Philippe Bürgisser, May 20, 2021 12:48 PM | Source: Camptocamp Blog

Since few weeks now, the operator Red Hat OpenShift GitOps became GA and embbed tools like Tekton and ArgoCD.

When the operator is deployed, it provisions a vanilla ArgoCD which miss the OpenShift integrated login. In this post, we are going to review the steps to enable it.

Deploy and fine tune the Red Hat OpenShift GitOps

  1. Follow the official documentation on the installation of the operator
  2. Once the operator is deployed, go to the menu Operators>Installed Operators and click on the freshly deployed Red Hat OpenShift GitOps
  3. Using the dropdown Actions on top right of the page, ...

[ Read More ]

How to allow dynamic Terraform Provider Configuration

Raphaël Pinson, May 11, 2021 11:47 AM | Source: Camptocamp Blog

Terraform relies heavily on the concept of providers, a base brick which consists of Go plugins enabling the communication with an API.

Each provider gives access to one or more resource types, and these resources then manage objects on the target API.

Most of the time, a provider's configuration is static, e.g.

provider "aws" {
  region = "us-east-1"

However, in some cases, it is useful to configure a provider dynamically, using the attribute values from other resources as input for the provider's configuration.

I'll use the example of the Argo CD provider. In a single Terraform run ...

[ Read More ]

Terraform Project Design — A parallel with Puppet

Mickaël Canévet, May 03, 2021 11:57 AM | Source: Camptocamp Blog


Like Puppet, Terraform provides low-level objects written in a programming language that allows you to manage individual resources.

With Puppet, these low-level objects, the Puppet Types and Providers, written in Ruby, allow you to apply the CRUD paradigm to resources located on managed nodes.

With Terraform, these low-level objects, the Terraform Resources, written in Go, allow you to apply the CRUD paradigm to resources in an API.

On top of this, both solutions provide a DSL: the Puppet DSL for Puppet and the HashiCorp Configuration Language (HCL) for Terraform. They are both declarative languages, allowing ...

[ Read More ]

Puppet Tip 119 - Hiera merge behavior

Anonymous, February 11, 2021 12:00 AM | 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, January 12, 2021 12:00 AM | 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 (, January 11, 2021 02:46 PM | 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, December 11, 2020 12:00 AM | 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, November 13, 2020 12:00 AM | 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, November 09, 2020 12:00 AM | 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, October 19, 2020 01:04 PM | 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, October 02, 2020 12:00 AM | 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 ]