Planet Puppet

Your source of Puppet technical information

Puppet Tip 110 - Request for Tiny Data - Part 4

Anonymous, 0 minutes | Source: Example 42

Request for Tiny Data! So, here is our call for tiny data. We have tinydata for some applications: ls -la data/ | wc -l 179 the common ones or what we needed or found interesting. Still there’s more. A lot of wonderful applications that would be great to be able to install on a shell command: tp install wonderapp or manage with a Puppet define: tp::install { 'wonderapp': } On any Linux, and maybe Mac and Windows. With the quick choice of using the default OS packages, the app upstream repo or any other repo might be configured. tp::install { 'wonderapp ...

[ Read More ]

Puppet Tip 109 - Request for Tiny Data - Part 3

Anonymous, 0 minutes | Source: Example 42

Managing additional repositories There 2 ways to are manage repos, the first is to specify the typical data to use in apt repos: elasticsearch::settings: init_file_path: '/etc/default/elasticsearch' repo_url: 'http://packages.elastic.co/elasticsearch/2.x/debian' key: 'D88E42B4' key_url: 'https://packages.elastic.co/GPG-KEY-elasticsearch' apt_repos: 'main' apt_release: 'stable' apt_key_server: 'http://pgp.mit.edu' or yum repos: elasticsearch::settings: init_file_path: '/etc/sysconfig/elasticsearch' repo_url: 'http://packages.elastic.co/elasticsearch/2.x/centos' key: 'D88E42B4' key_url: 'http://packages.elastic.co/GPG-KEY-elasticsearch' the second, when repo_package_url is defined, involves setting the download url of the release package, with all the necessary ...

[ Read More ]

Puppet Tip 108 - Request for Tiny Data - Part 2

Anonymous, 6 hours, 47 minutes | Source: Example 42

Second part of the Request for Tiny Data serie is about …. Tiny data Tiny Puppet actually has a, non intrusive, dependency: the tinydata module. Here is where the tp magic becomes plain information easy to read, fix, and improve. Tinydata contains the info on package, service, files names, paths for any application supported by Tiny Puppet. For example, openssh default tiny data looks as follows: --- openssh::settings: package_name: 'openssh-server' # The name (can be empty or an array) of the package to install service_name: 'ssh' # The name (can be empty or an array) of the service to manage config_file_path: '/etc/ssh ...

[ Read More ]

Puppet Tip 107 - Request for Tiny Data - Part 1 - Tiny Puppet (tp)

Anonymous, 2 days, 6 hours | Source: Example 42

This is the first of four post series for our Request for Tiny Data. We will clarify better at the end who can request what, first, we have to give some context, and explain what uses Tiny Data: Tiny Puppet (tp) If you know something about example42, you should know that we developed Tiny Puppet (tp), a Puppet module which allows to manage potentially any application on any Operating System. What applications exactly Tiny Puppet can manage? The current list is always this, but the right answer is: Any application that can be installed via a Puppet package resource, taking ...

[ Read More ]

No title

Anonymous, 5 days, 14 hours | Source: Puppet

Rounding out an exciting year of growth, we’re pleased to introduce two new additions to our team: Michel Feaster and Erik Frieberg.

[ Read More ]

No title

Anonymous, 1 week | Source: Puppet

Learn how you can ensure systems continuously remain secure, meet compliance requirements, and get valuable time back to do cool stuff.

[ Read More ]

Automagic Puppet Function Updater

Anonymous, 2 weeks | Source: binford2k.com

Last week I wrote about porting legacy Ruby Puppet functions to the modern API. It struck me how programatic the refactoring process was, so I wrote a tool to automate much of it. The functions it generates are not great but they’re a start, and they’re validated to at least work during the process.

Installing

The tool is distributed as a Ruby gem with no dependencies, so simply gem install.

$ gem install puppet-function-updater

Usage

Run the command puppet_function_updater in the root of a Puppet module, then inspect all the generated functions for suitability when it’s done. If ...

[ Read More ]

No title

Anonymous, 2 weeks | Source: Puppet

Network devices are just like any other node in PE 2019.2.

[ Read More ]

No title

Anonymous, 3 weeks | Source: Puppet

Wash helps you manage your infrastructure using UNIX-y patterns and tools to free you from having to remember multiple ways of doing the same thing.

[ Read More ]

Upgrade to Puppet 4.x functions already!

Anonymous, 3 weeks, 1 day | Source: binford2k.com

For many years, you’ve been able to extend the Puppet language by writing custom functions in Ruby. And since the functions were autoloaded from modules, a large ecosystem developed adding all sorts of functionality. For example, puppetlabs/stdlib includes a smorgasbord of string manipulations, data validations, data structure munging, etc. But the original function API had many critical limitations, and Puppet introduced a new and improved API with Puppet 4.x. I’d like to tell you about some of the benefits and how to upgrade your own functions to the new API. It’s surprisingly easy to do ...

[ Read More ]

Agent Side Functions in Puppet 6

Anonymous, 4 weeks, 1 day | Source: binford2k.com

Puppet 6 introduced Deferred functions, a new feature that allows you to run code on the agent side during enforcement. This is both functionality that people have been requesting for ages, and also behaviour that many people already mistakenly assumed existed. As a matter of fact, the Puppet execution model isn’t very well understood at all and many people already think they’re using Puppet like a shell script engine!

So first, let’s take a quick look at how the catalog gets built and enforced. There are a few stages we need to understand.

  1. The agent generates facts ...

[ Read More ]

First Steps with Bolt

David Schmitt, 6 months | 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 6 type system - Posts

Henrik Lindberg (noreply@blogger.com), 1 year | 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), 1 year | 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), 1 year | 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), 1 year | 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, 1 year, 1 month | 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, 1 year, 1 month | 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, 1 year, 3 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, 1 year, 3 months | 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 ]