Your source of Puppet technical information
Aliza Earnshaw, 16 hours, 10 minutes | Source: Puppet Labs
Treating infrastructure as code makes Heartland Payment Systems deployments uneventful, freeing ops to do more interesting & strategic projects.
Henrik Lindberg (email@example.com), 2 days, 19 hours | Source: Puppet on the Edge
In Puppet 4.0.0 there is a new technology agnostic mechanism that makes it possible to provide default values for class parameters in modules and in environments. In the first post about this feature I show how it is used. In this second post I will show how to write and deliver an implementation of a data provider.
The information in this post is only relevant if you are planning to extend puppet with additional types of data providers - you do not need to learn all that is presented here to use the services the new data provider feature ...
Henrik Lindberg (firstname.lastname@example.org), 2 days, 19 hours | Source: Puppet on the Edge
In Puppet 4.0.0 there is a new technology-agnostic mechanism for data lookup that makes it possible to provide default values for class parameters in modules and in environments. The mechanism looks first in the "global" data binding mechanism across all environments (i.e. the existing mechanism for data binding, which in practice means hiera, since this is the only available implementation). It then looks for data in the environment, and finally in the module.
The big thing here is that a user of a module does not have to know which implementation the module author has chosen - the ...
Krishna Prajapati, 2 days, 22 hours | Source: OlinData
Puppet Server is a next-generation alternative to our current puppet master, which builds on the successful Clojure technology stack underlying products like PuppetDB. Puppet Server is an application that runs on the Java Virtual Machine (JVM) and provides the same services as the classic Puppet master application. It mostly does this by running the existing Puppet master code in several JRuby interpreters, but it replaces some parts of the classic application with new services written in Clojure.
Puppet Server is one of two recommended ways to run the Puppet master service; the other is a Rack server. Today they’re ...
Meg Hartley, 5 days, 15 hours | Source: Puppet Labs
Learn how to start and grow a Puppet User Group (PUG) in your own city from three experienced PUG organizers.
Tiffany Longworth, 6 days, 15 hours | Source: Puppet Labs
Don't feel comfortable with command line, vim or Git? Don't worry, you aren't alone. Tiffany Longworth talks about why she's giving a workshop on these tools at Cascadia IT in March.
Carl Caum, 1 week | Source: Puppet Labs
We’re happy to announce that Arista Networks now supports Puppet on their EOS platform. This is the latest vendor to launch support as part of our Puppet Supported Program, a certification program that enables our customers to extend the benefits of automation across networking and storage services.
R.I. Pienaar, 1 week, 1 day | Source: R.I.Pienaar - www.devco.net
I’ve moved a number of my more complex infrastructure components from being Puppet managed to being Docker managed. There are many reasons for this the main one being my Puppet code is ancient and faced with a rewrite to be Puppet 4 like or just rethinking things, I’m leaning towards rethinking. I don’t think CM is solving the right problem for me for certain aspects of my infrastructure and new approaches can bring more value for my use case.
There’s a lot of posts around talking about Docker and concentrating on the image building side of ...
jamesjustjames, 1 week, 2 days | Source: The Technical Blog of James
Vagrant is a great tool for development, but Red Hat Enterprise Linux (RHEL) customers have typically been left out, because it has been impossible to get RHEL boxes! It would be extremely elegant if hackers could quickly test and prototype their code on the same OS as they’re running in production.
Secondly, when hacking on projects that have a long initial setup phase (eg: a long rpm install) it would be excellent if hackers could roll their own modified base boxes, so that certain common operations could be re-factored out into the base image.
This all changes today.
Daniel Lobato (email@example.com), 1 week, 2 days | Source: The Foreman: BlogsFebruary has been an intense month for the Foreman team. We gave a few talks at FOSDEM, got in touch with the community at cfgmgmtcamp, and overall had a great time.
Michael Arnold, 2 weeks, 1 day | Source: The Razor's EdgeI got a chance to speak to some local Puppet Users at this years Puppet Camp Phoenix held in Chandler, Arizona. My talk is titled Managing Files via Puppet: Let Me Count The Ways. This is the abstract: Configuration files abound. They are the primary way to get our systems to do the things we […]
Krishna Prajapati, 2 weeks, 2 days | Source: OlinData
Hiera helps to seperate data from Puppet manifests. It let's us write and use reusable manifests and modules. Puppet classes can request the data they need from the hiera data store. Hiera reads environment specific key / value pairs (including passwords) from its own YAML files and parses them to Puppet. Puppet then populates templated configuration files and delivers them to the specified directories. However, Hiera still needs access to the passwords in order to pass them along to Puppet. If you store your passwords as plain text values, then there is still a problem of security. If someone was ...
admin, 2 weeks, 4 days | Source: Immerda Techblog
So far the ibox modules didn’t manage any authorized_keys for the user root, while the sshd module enforced that the root user can’t login using the password. We had the functionality already implemented in our internal code base, but it originated from the very early puppet days and it lacked several features, like purging non-managed keys or being able to selectively allow certain keys only on certain hosts.
With a recent commit to the ibox modules we introduced this functionality also on the ibox with all the missing features.
We introduced a new variable within the main ibox ...
Henrik Lindberg (firstname.lastname@example.org), 2 weeks, 6 days | Source: Puppet on the Edge
In the first post about the 4x Function API I showed the fundamentals of the new API. In this post I am going to show how you can write more advanced functions that take a code block / lambda as an argument and how you can call this block from Ruby. This can be used to create your own iterative functions or functions that make it possible to write puppet code in a more function oriented style.
A 4x function can accept a code block / lambda. You can make it required by calling
required_block_parameter in the ...
Anonymous, 3 weeks, 1 day | Source: david.log
Henrik also pointed me at the nice fact that the future parser will auto-coerce
(fail-safely) strings to numbers in arithmetic expressions. This means
0 will be either the numerical value of
$var or a compile error.
Kris Buytaert, 3 weeks, 2 days | Source: Everything is a Freaking Puppet problem
A couple of people asked me to results of the survey of the 2015 vs 2014 Configuration Management Camp room interrests.
This is a bunch of 350 last year and 420 people telling us what tools they are interested in so we can map the right roomsizes to the communities.
Enjoy.. but remember there's Lies, Damn Lies and Statistics ..
PS. this is a mostly European Audience .
jamesjustjames, 3 weeks, 2 days | Source: The Technical Blog of James
You might want to write code that can tell how many iterations have passed since some action occurred. Alternatively, you might want to know if it’s the first time a machine has run Puppet. To do these types of things, you might wish to have a monotonically increasing counter in your Puppet manifest. Since one did not exist, I set out to build one!
If you just want to try the code, and skip the ramble, you can include common::counter into your manifest. The entire class is part of my puppet-common module:
git clone https://github ...
Anonymous, 3 weeks, 4 days | Source: david.log
At the Puppet Contributor Summit 2015 Gent
plugs into the puppet module face and enables you to use
generate myname-modulename and get a working sekelton with all testing goodies
Sadly there were some bring-up issues, which he now started to adress, adding a travis job to keep it that way. More help is always welcome to improve this resource.
Gareth's tool is great to create a new module. For working with existing modules, modulesync is the way to go. This tool can be configured with a set ...
Anonymous, 3 weeks, 5 days | Source: david.log
The future parser in puppet is the compatibility shim to use before moving to Puppet 4.0, whose release is imminent. The future parser in 3.7 allows us to run the stable version with the parser of the new version, making manifests and modules ready for a seamless upgrade. Here I'll describe the steps I needded to make this move.
To make the transition possible and easy, I've two goals. first, I want to make sure that I change as little as possible. This avoids trying too much in a single pass of the codebase, which ...
Raphaël Pinson, 3 weeks, 5 days | Source: Camptocamp Blog
Puppet 4 is just around the corner and it will bring a good deal of changes. Some of them will require to adapt or fix your code, as outlined at Puppetcamp Amsterdam last week by Martin Alfke:
Now the problem is, “How do you find the code that needs fixing, and how do you fix it easily?”
This is where puppet-lint chimes in!
At Camptocamp, we have written a series of puppet-lint plugins to ease the transition to the future parser – and eventually, Puppet 4.
Find out potential problems in ...
That's easy, you just tweet to @_masterzen_ your Puppet category/tag blog feed (atom or rss) url and I'll include it