This Puppet control-repo
contains all the Puppet code
and data
needed to manage an IT infrastructure in an automated, centralized way.
It's based on PSICK control-repo, Example42's Puppet Systems Infrastructure Construction Kit
and the companion PSICK module. Brief history of the control-repo
evolution is here.
It's a Git repository where changes have to be committed and updated code deployed on the Puppet Servers
in order to actually deliver modifications to our systems via Puppet
.
A proper understanding of Puppet
key principles is necessary to operate here.
In this document are outlined the main principles behind Puppet
and the logic of this control repo:
it should be all we need to be able to work on it.
Some references and basic information on Puppet
are provided later, here we start by describing what are the main components of a typical control-repo
and then what are the specific additions done here.
-
Introduction to Puppet - A very basic introduction to
Puppet
-
Hiera essentials - Basic
Hiera
concepts -
Hiera eyaml - An overview on how to use
hiera-eyaml
backend -
Trusted Facts - How to set and use
trusted facts
-
External Facts - How to set and use
external facts
-
Puppet Enterprise Console - An overview on the
Puppet Enterprise console
-
Control-repo logic - An overview of the design choices and the logic of this
control-repo
-
Prerequisites - A more detailed view of the prerequisites needed to fully use the
control-repo
-
Noop Mode - An overview on how to enforce
server side
noop mode
with thiscontrol-repo
-
Integrations:
-
Vagrant Integration - How to use
Vagrant
to test thecontrol-repo
during development -
Docker Integration - How to use
Docker
to testPuppet code
and to build images based on the existingPuppet code
-
Puppet Enterprise and Gitlab integration - How to setup and use
Puppet Enterprise
withGitlab
for full development cycle ofPuppet code
anddata
-
Tiny Puppet and tinydata integration - How to extend
Puppet
usage withTiny Puppet
andtinydata
-
-
Git tasks - An overview on how to use
Git
-
Change Impact - Some
Warnings
before messing up withPuppet code
anddata
-
Change Process - A
step-by-step
guide on how to manage changes inPuppet code
- Workflow example - A Change process workflow with,
feature
,integration
, andproduction branch
- Workflow example - A Change process workflow with,
-
AWS - How to setup and manage
AWS
resources -
FOSS Puppet Server - How to spin up a
Puppet Open Source Server
in a fully automated way