Planet Puppet

Your source of Puppet technical information

Puppet Containment Demystified

Anonymous, January 20, 2023 12:00 AM | Source: binford2k.com

Containment has always been kind of a sticky subject in the Puppet world. Part of the confusion is that that Puppet tries really hard to handle on its own so that you don’t have to care about the weird little implementation details of how ordering relationships are resolved.

But that just means you’re not expecting it when it does raise its nasty little hobbit head.

Let’s talk a bit about how containment works so that you’re not surprised by an unexpected production outage caused by an unforeseen dependency issue.

We’ll start with ordering and the DAG. Directed Acyclic Graph is ...

[ Read More ]

Puppet Containment Demystified

Anonymous, January 20, 2023 12:00 AM | Source: binford2k.com

Containment has always been kind of a sticky subject in the Puppet world. Part of the confusion is that that Puppet tries really hard to handle on its own so that you don’t have to care about the weird little implementation details of how ordering relationships are resolved.

But that just means you’re not expecting it when it does raise its nasty little hobbit head.

Let’s talk a bit about how containment works so that you’re not surprised by an unexpected production outage caused by an unforeseen dependency issue.

We’ll start with ordering and the DAG. Directed Acyclic Graph is ...

[ Read More ]

Deploy your Pulumi project using Docker and Dagger.io

Hugo Bollon, December 14, 2022 10:30 AM | Source: Camptocamp Blog

🕰� In the previous episode

In the first part of this Dagger's series, I showed you what's Dagger.io, what's the features of it and it's benefits against others ci/cd solutions and finally the very basis of Dagger.

With this chapter, I will show you how we can overpower the CI/CD of any Pulumi project using Dagger.

🧰 Pulumi - An amazing IaC tool

First of all, I think that some of you may doesn't know what is Pulumi or even IaC (Infrastructure as Code) concept, so I will quickly present to you these two points.

Infrastructure as Code

Nowadays, IT ...

[ Read More ]

Desktop as Code with TP Desktop

Anonymous, December 13, 2022 12:00 AM | Source: Example 42

We manage via code the configurations of servers, cloud resources and infrastructures. Are we doing the same with our desktop setups, on our laptop, desktop, remote VDI? Do we manage as code the usual files we have, or would like to have, in our home configurations on remote servers? You may wonder what’s the benefit of adding the complexity of developing configurations that are applied one time and are usually managed manually. Well, let’s see if any of these use cases may be of interest for us: We do not setup our desktop only once. We do it whenever we ...

[ Read More ]

Use Docker to build better CI/CD pipelines with Dagger

Hugo Bollon, December 11, 2022 05:00 AM | Source: Camptocamp Blog

With the raises of DevOps practices, CI/CD (continuous integration & continuous deployment) takes a major place in every delivery workload.
CI/CD allow organizations to build, test and finally ship their applications more quickly and efficiently. It's a modern set of practices which allows to automatically trigger build, test or others types of jobs when the changes to the codebase are done.

In this quest of automation, we can use some CI/CD ecosystem like Github Actions, Gitlab-CI or many more.
However, a very promising new solution open-source is born called Dagger.

Dagger's logo

🤔 Dagger? What is it?

Dagger.io is a brand-new programmable ...

[ Read More ]

Puppet consulting, the example42 way

Anonymous, November 06, 2022 12:00 AM | Source: Example 42

If you think that this is a mere low budget marketing self-promoting post, you are right. Still, if you are interested in Puppet consulting, or, for some really arcane reason, in example42, keep on reading, as I guarantee that everything written here is true and happened for real. example42, an idea, an approach to work Example42 started in 2008 as an Open Source project, then, in 2015, it became a company based in Berlin, and finally, at the beginning of this year it turned into a brand of Lab42 Srl, my company, based in Italy. The idea behind example42 is ...

[ Read More ]

Puppet supports DoD continuous compliance and configuration management

Anonymous, October 24, 2022 12:00 PM | Source: Puppet

Learn how federal IT teams use Compliance Enforcement Modules to automate continuous compliance without the delay, risk and cost of manual approaches.

[ Read More ]

How to rein in cloud chaos with Puppet

Anonymous, October 18, 2022 03:00 PM | Source: Puppet

Join us for a webinar on how Puppet Enterprise, Bolt, and Puppet code work together to deploy and maintain your cloud infrastructure.

[ Read More ]

Get your time back by getting rid of unused modules with Dropsonde

Anonymous, October 11, 2022 03:53 PM | Source: Puppet

Clean up dead weight in your Puppet codebase (and save time) by getting rid of modules you no longer use. We’ll show you how.

[ Read More ]

How Puppet is making platform engineering more secure

Anonymous, October 03, 2022 04:00 PM | Source: Puppet

Puppet is releasing two CVEs as part of our secure-by-default ecosystem. Learn how the rise of platform engineering can lead to untrusted input.

[ Read More ]

Cleaning up unused modules with Dropsonde

Anonymous, September 01, 2022 12:00 AM | Source: binford2k.com

You’ve probably been using Puppet Forge modules to manage bits in your infrastructure for years. And if you’re like most of us, you’ve gradually added more modules and maybe sort of lost track of exactly what some of them do and on what nodes they’re declared on. You may even suspect that you have modules installed that you haven’t actually used in years…. only you’re not quite certain which modules those might be. I’m certainly guilty of that!

You won’t be surprised to know that one of our most common customer requests is a way to audit their modules to ...

[ Read More ]

Modern Puppet node classification

Martin Alfke, August 08, 2022 06:35 AM | Source: betadots

Within Puppet we use modules to describe specific technical components which we want to configure on a system.
This can by achieved either by upstream library modules (some refer to these as component modules) which can be found on Puppet Forge or by self written Puppet code which we usually refer to as technical implementation profiles.

Since Puppet is a client server model, the server must be aware of each node and must know which classes a node needs. This process is called node classification.

Within Puppet there are several ways how nodes can be classified.
This article describes the ...

[ Read More ]

Moderne Puppet Node Klassifizierung

Martin Alfke, August 08, 2022 06:34 AM | Source: betadots

Innerhalb von Puppet werden mit Hilfe von Modulen bestimmte technische Komponenten konfiguriert.
Module können Upstream entwickelt und auf der Puppet Forge zur Verfügung gestellt werden. Diese Module nennen wir gerne Bibliotheken oder Komponenten Module.
Alternativ handelt es sich um selbst geschriebene Technische Implementierungs-Profile.

Da es sich bei Puppet um ein Client-Server Modell handelt, muss der Server wissen, welche Module auf einem System zum Einsatz kommen sollen. Diesen Vorgang nennt man Node Klassifizierung.

Innerhalb von Puppet stehen unterschiedliche Varianten für die Node Klassifizierung zur Verfügung.
Dieser Artikel beschreibt die klassische Node Klassifizierung und ihre Einschränkungen und geht danach auf flexiblere, Hiera ...

[ Read More ]

Puppet Evaluation Error. Error while evaluating a Resource Statement - Unknown resource type

Anonymous, August 07, 2022 12:00 AM | Source: Example 42

So you got the Error while evaluating a Resource Statement, Unknown resource type with Puppet and are searching for solutions? You are lucky, because right now we are going to see what it means, why it happens and how to solve it. TL;DR The module that provides the referred Unknown resource type is not available where your Puppet code is compiled. Find the module you need in the metadata.json file of the module where the code fails (refer to the provided file path). Solve by adding the dependency module to your Puppetfile, or running the puppet module install command. Decomposing ...

[ Read More ]

How I deployed a serverless and high availability Blackbox Exporter on AWS Fargate

Hugo Bollon, July 04, 2022 02:19 PM | Source: Camptocamp Blog

At Camptocamp, we're using multiple Blackbox Exporters hosted in a few different cloud providers and world regions. We're using them to monitor availability and ssl certificate validity and expiration of many websites.
They were all deployed inside Linux VMs provisioned by Terraform and configured by our Puppet infrastructure. However, in order to achieve more simplicity and high availability, we wanted to deploy containers instead of these VMs.

� Why a serverless approach with AWS Fargate

AWS ECS (Elastic Container Service) is a fully managed, highly scalable and docker compatible container orchestration service.
It is widely used to host microservice ...

[ Read More ]

Extending Puppet CA

Martin Alfke, July 04, 2022 09:48 AM | Source: betadots

Puppet encrypts connections using a self-signed OpenSSL based CA.
Usually a Puppet CA has a validity of 5 years. At initial Installation one can configure the ca_ttl setting:

puppet config set --section server ca_ttl 10y

Existing installations can extend the CA e.g. by using the following script which has been made public by Neeloy on Puppet Community Slack channel:

cd /etc/puppetlabs/puppet/ssl/ca
(openssl rsa -noout -modulus -in ca_key.pem  2> /dev/null | openssl md5 ; openssl x509 -noout -modulus -in ca_crt.pem  2> /dev/null | openssl md5 )
# Generate new CSR
openssl x509 -x509toreq -in ca_crt.pem -signkey ca_key.pem -out ca_csr.pem
# Sign ...

[ Read More ]

HashiConf Europe 2022 - Vibes from a perfect conference

Anonymous, June 22, 2022 12:00 AM | Source: Example 42

IT conferences are main attractions in our jobs with machines, the occasions to meet again remote friends you’ve known for years, know people with whom you have something in common and stay updated on vendors’ products. After the last two years I guess many of us are looking forward to attend some good in presence conference, hence my decision to plan a road trip, from Italy to Amsterdam, take the occasion to meet business partners, old friends and, first time for me, jump into an HashiCorp conference. How tp always matters I didn’t came to the party without anything, I ...

[ Read More ]

Verlängerung der Puppet CA

Martin Alfke, April 10, 2022 05:59 PM | Source: betadots

Puppet verschlüsselt Verbindungen mit einer selbst-signierten OpenSSL basieten CA.
Diese hat üblicherweise eine Laufzeit von 5 Jahren. Bei der initialen Installation kann man dies über eine Konfigurationseinstellung ändern:

puppet config set --section server ca_ttl 10y

Bei Bestandsinstallationen kann man die CA im laufenden Betrieb verlängern.
Im Slack Puppet Community Channel hat Neeloy z.B. ein Script veröffentlicht:

cd /etc/puppetlabs/puppet/ssl/ca
(openssl rsa -noout -modulus -in ca_key.pem  2> /dev/null | openssl md5 ; openssl x509 -noout -modulus -in ca_crt.pem  2> /dev/null | openssl md5 )
# Generate new CSR
openssl x509 -x509toreq -in ca_crt.pem -signkey ca_key.pem -out ca_csr.pem
# Sign
cat > extension.cnf ...

[ Read More ]

Towards a Modular DevOps Stack

Raphaël Pinson, February 23, 2022 05:37 PM | Source: Camptocamp Blog

A year and a half ago, our infrastructure team at Camptocamp was faced with an increasingly problematic situation. We were provisioning more and more Kubernetes clusters, on different cloud providers. We used Terraform to deploy the infrastructure itself, and we had started to adopt Argo CD to deploy applications on top of the cluster.

We quickly ended up with many projects using similar logic, often borrowed from older projects, and most of these cluster were starting to use divergent code.

Diverging projects

We thought it was time to put together a standard core in order to:

  • provision Kubernetes clusters;
  • deploy standard applications ...

[ Read More ]

Winter Solstice run 2021

Anonymous, December 21, 2021 12:00 AM | Source: binford2k.com

Today at 7:58 am was the Winter Solstice. That’s when the days stop getting shorter and start getting longer again. Metaphorically, it’s when darkness starts leaving our lives again and we welcome in more light.

Ruben and I celebrated with a 7:58 am morning run, of course. The first half of the run was on a well-worn regular route, but then on the way back we wandered on an unplanned, unmapped, unfamiliar route. We just let ourselves go where our feet and Ruben’s nose led us. It was wonderful. I thought about things I’d like to let go of and ...

[ Read More ]