Planet Puppet

Your source of Puppet technical information

How to improve infrastructure automation with PowerShell and Bolt

Claire Cadman, 2 days, 3 hours | Source: Puppet Labs

An extended example demonstrating how you can reuse a PowerShell script by converting it into a Task and running it with Bolt.

[ Read More ]

Contributor Summit was a lot of firsts. What's next?

Ben Ford, 2 days, 4 hours | Source: Puppet Labs

Last month, we spent two and a half days in Budapest with some of our best community friends. Let's catch up on Contributor Summit, what we learned, and more.

[ Read More ]

Five reasons to attend Puppetize PDX

Melissa Casburn, 1 week, 3 days | Source: Puppet Labs

If you’re looking for reasons to check out Puppetize PDX 2019, here are a few. We’re looking forward to seeing everyone at our main event this year.

[ Read More ]

Extend the expiration date of Puppet's Certificate Authority using Bolt

Adrian Parreiras Horta, 2 weeks, 3 days | Source: Puppet Labs

Avoid panic and unnecessary infrastructure issues by checking and extending the expiration of your Puppet Certificate Authority using Bolt.

[ Read More ]

First Steps with Bolt

David Schmitt, 1 month, 1 week | Source: david.log

For the longest time (like for the last six(!) years), everytime I pushed a change to my puppet repositories, I would ssh and sudo onto my puppetmaster and search in my shell history for the commands I used to deploy those changes the last time:

david@zion:~$ ssh puppetmaster.example.net -p 2200
Linux puppetmaster 3.2.0-6-amd64 #1 SMP Debian 3.2.102-1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ...

[ Read More ]

Puppet Tip 106 - Sensitive Data in Puppet

Anonymous, 3 months, 2 weeks | Source: Example 42

Securing important and sensitive information with Puppet is a long time issue. There are at least three different locations where one has to deal with securing information. The most well known is the Hiera data store, where many people today use hiera-eyaml to encrypt values using a public-private key pair. The next one is the catalog itself, where the Puppet server places data unencrypted inside. Ben Ford from Puppet provided a solution using node_encrypt module. The third one is the Puppet report. Here we see file diffs, showing old and new password. This is the topic we are dealing in ...

[ Read More ]

example42 is rewarded twice at 2018 Puppet Channel Partner Awards

Anonymous, 5 months | Source: Example 42

When we joined as individuals the Puppet community almost ten years ago, we learned that this community was different. The most important drive here has always been: try to be helpful and inclusive! Shortly after example42 GmbH was founded, in October 2015, we were accepted as Puppet Channel Partner. This partnership allows Puppet Inc and example42 GmbH to work closely together on training, consulting, migrations and any aspect of a Puppet Enterprise installation. Several of the relevant engagements have been conducted by Alessandro Franceschi, CTO at example42 GmbH. We are super excited that Alessandro is rewarded as Channel Partner Engineer ...

[ Read More ]

Puppet Tip 105 - The lazy tagging issue and how to work around

Anonymous, 6 months, 2 weeks | Source: Example 42

In Puppet trainings I usually tell people that a lazy admin is a good admin. A lazy admin will automate repetitive tasks. Additionally I like to refer to Puppet as also being lazy: Puppet always checks the actual state and compares it with the desired state. In case that actual state is correct, Puppet will go to sleep again. But there are parts where being lazy is kind of a problem. One of these is what I prefer to name “the lazy tagging” in Puppet. What are tags? Tags and collectors Work around the lazy tagging issue What are tags ...

[ Read More ]

Tip of the Week 104 - Categorised summary of example42 2018 blog postings

Anonymous, 6 months, 3 weeks | Source: Example 42

Welcome to 2019! We close the year with a categorised summary of all postings from 2018 and a rethinking of the purpose of this blog. After exactly 2 years of weekly posts about Puppet we have decided to quit with the weekly schedule. We will continue to release Puppet Tips here, but not every week. The ratio between time spent in writing the posts and feedback from readers and the Puppet world has not been positive enough to justify the effort. We apologise to who has always supported and helped us in spreading these contents (special thanks to Taciano Tres ...

[ Read More ]

Puppet 6 type system - Posts

Henrik Lindberg (noreply@blogger.com), 7 months, 2 weeks | Source: Puppet on the Edge

Puppet 6 type system - Posts

Puppet 6 Type System - Index

This is an index page with links to all of my blog posts in the series about the Puppet 6 Type System support for the Object data type.

  • The first post introduced the Object data type and the history behind Pcore. You probably want to read that first.
  • The second post covers more about how attributes are specified
  • The third post is about inheritance.
  • The fourth post overs Object behavior - that is the operations that are available on Object, how they can be controlled, and how methods/functions are defined ...

[ Read More ]

Puppet 6 type system - Methods

Henrik Lindberg (noreply@blogger.com), 7 months, 2 weeks | Source: Puppet on the Edge

Puppet 6 type system - Methods

Puppet 6 Type System - Object Methods

Introduction

This is the fourth posting in the series about the Object data type in the Puppet Type System - Pcore. The first post introduced the Object data type and the history behind Pcore. You probably want to read that first. The second post covers more about how attributes are specified, and the third post is about inheritance. In this post, I will cover Object behavior - that is the operations that are available on Object, how they can be controlled, and how methods/functions are defined and implemented.

Terminology Corner ...

[ Read More ]

Puppet 6 type system - Object Inheritance

Henrik Lindberg (noreply@blogger.com), 8 months, 1 week | Source: Puppet on the Edge

Puppet 6 type system - Object Inheritance

Puppet 6 Type System - Object Inheritance

Introduction

This is the third posting in the series about the Object data type in the Puppet Type System - Pcore. The first post introduced the Object data type and the history behind Pcore. You probably want to read that first. The second post covers more about how attributes are specified. In this post, I will cover inheritance as well as one feature I forgot in the second post.

Constant Attributes

Yeah, so, I forgot to mention that there is a short form for specifying constants. In the second ...

[ Read More ]

Puppet 6 type system Object attributes

Henrik Lindberg (noreply@blogger.com), 8 months, 1 week | Source: Puppet on the Edge

Puppet 6 type system Object attributes

Puppet 6 Type System - More about Object Attributes

Introduction

This is the second posting in the series about the Object data type in the Puppet Type System - Pcore. The first post introduced the Object data type and the history behind Pcore. You probably want to read that first.

In this post I am going to show how attributes of Objects work in more detail.

Recap Defining an Object data type in Puppet

As you may recall from the earlier post - an Object data type can be created like this in Puppet:

type Car = Object ...

[ Read More ]

My Kanban Journey

David Schmitt, 8 months, 1 week | Source: david.log

Disclaimer: This post was written as an employee of Puppet, Inc., but does not constitute opinions of the company.

Last year I was part of the effort to design, develop and deliver the first version of the Puppet Development Kit. We started our effort small with a Trello board of ideas and things that we wanted to achieve. Once development started, we switched over to a JIRA project using the companies standard config, which turned out to be quite limiting after a while. At one point I took a day or two to completely rebuild our kanban boards to streamline ...

[ Read More ]

Convert a controlrepo to using the Puppet Development Kit (PDK)

rnelson0, 9 months, 1 week | Source: RNELSON0

I previously wrote about converting an individual puppet module’s repo to use the Puppet Development Kit. We can also convert controlrepos to use the PDK. I am starting with a “traditional” controlrepo, described here, as well as centralized tests, described here. To follow this article directly, you need to: Have all hiera data and role/profile/custom […]

[ Read More ]

Linux OS Patching with Puppet Tasks

rnelson0, 11 months | Source: RNELSON0

One of the biggest gaps in most IT security policies is a very basic feature, patching. Specific numbers vary, but most surveys show a majority of hacks are due to unpatched vulnerabilities. Sadly, in 2018, automatic patching on servers is still out of the grasp of many, especially those running older OSes. While there are […]

[ Read More ]

Using Puppet Enterprise 2018’s new backup/restore features

rnelson0, 11 months, 1 week | Source: RNELSON0

I was pretty excited when I read the new features in Puppet Enterprise 2018.1. There are a lot of cool new features and fixes, but the backup/restore feature stood out for me. Even with just 5 VMs at home, I don’t want to rock the boat when rebuilding my master by losing my CA or […]

[ Read More ]

Disabling rubocop and upgrading to PDK 1.6.0

rnelson0, 1 year | Source: RNELSON0

As I lamented in my article on converting to the PDK, I really do not like Rubocop and was disappointed I could not turn it off. Thankfully, that was addressed in PDK-998 and the fix was included in time for PDK 1.6.0! Disabling it is pretty simple and though it’s strictly a fix to pdk-templates, […]

[ Read More ]

Choria Progress Update

R.I. Pienaar, 1 year, 2 months | Source: R.I.Pienaar - www.devco.net

It’s been a while since my previous update and quite a bit have happened since.

Choria Server

As previously mentioned the Choria Server will aim to replace mcollectived eventually. Thus far I was focussed on it’s registration subsystem, Golang based MCollective RPC compatible agents and being able to embed it into other software for IoT and management backplanes.

Over the last few weeks I learned that MCollective will no longer be shipped in Puppet Agent version 6 which is currently due around Fall 2018. This means we have to accelerate making Choria standalone in it’s own right ...

[ Read More ]

Adding rich object data types to Puppet

R.I. Pienaar, 1 year, 3 months | Source: R.I.Pienaar - www.devco.net

Extending Puppet using types, providers, facts and functions are well known and widely done. Something new is how to add entire new data types to the Puppet DSL to create entirely new language behaviours.

I’ve done a bunch of this recently with the Choria Playbooks and some other fun experiments, today I’ll walk through building a small network wide spec system using the Puppet DSL.

Overview


A quick look at what we want to achieve here, I want to be able to do Choria RPC requests and assert their outcomes, I want to write tests using the Puppet ...

[ Read More ]