PSICK
is the result of years of work on Puppet code
and modules.
Example42
started to release Puppet modules
in 2009 having, since the very beginning,
the vision to provide a reusable set of Puppet code
able to manage in an integrated
way a whole infrastructure automating backup and monitoring functionalities.
Even if PSICK
itself is born in 2017 it's derived from Example42's
original control-repo,
which was itself the evolution of example42 Puppet modules
collection.
Example42
original idea of making reusable te design of a whole infrastructure with Puppet
has evolved through various iterations:
-
"OLD"
Example42
Puppet modules
(Version 1.x) are no more supported or recommended. They are supposed to work also onPuppet
versions 0.x. You can give them a look using the 1.0 branch of this repo. -
"NextGen"
Example42
Puppet modules
(Version 2.x) were made before the release ofPuppet 3
. They are compatible withPuppet
version 2.6 , 3 and, for most, 4 and requireexample42's
puppi module
. Most of the modules you still see on theForge
belong to this generation and most of them are now no more actively supported (we receive PR and fixes but we don't actively work on them). They were linked asgit submodules
onbranch 2.0
of the original repo. -
StdMod modules
(Version 3.x) were supposed to be the next evolution ofExample42 modules
. They adhere to StdMod naming standards and are compatible withPuppet > 2.7 or 3.x
This is an half baked generation, which was abandoned for other projects. -
Version 4.x modules. Most of the old
pre-Puppet 4
modules have been deprecated and not maintained anymore. They arePuppet 4
only compliant. The structure of the repo has changed radically, all thegit submodules
have been removed and acontrol-repo
style has been introduced. With the release of 4.x this repo has been renamed: from puppet-modules to control-repo. -
With the introduction of
PSICK
we started release numbering from scratch, even if the amount of code inherited from thecontrol-repo
is quite relevant. We renamed the originalGitHub
repo from control-repo to PSICK and we zeroed thegit history
. You still can see it on the archive repo for historical purposes (that repo in freezed and won't accept PR).
Why did we rename the control-repo
to PSICK
and zeroed the whole ancient history of that repo?
-
We wanted to have a clean
git history
and a tiniergit
repo, without 8 years of code stratifications -
We wanted to start from scratch release
versioning
,tags
andbranches
. -
We think that the original concept of having a single place where to manage the whole
Puppet infrastructure
has been there since the very first iteration, even if in totally different shapes. -
Honestly, most of all, we wanted to preserve
GitHub's
stars on our historicPuppet modules
repository.
Use the Forge
to install single example42 modules
(be aware of the deprecated or old (2.x) ones):
puppet module search example42
or cherry pick them from GitHub.
NOTE: most of example42 modules are obsolete and no more actively maintained.
Most of their functionality is reproduced by Tiny Puppet
or by the profiles
in this control-repo
.
You can retrieve the old lists of Example42 modules
from other versions with:
git clone --recursive -b 1.0 git://github.com/example42/control-repo-archive.git
git clone --recursive -b 2.0 git://github.com/example42/control-repo-archive.git
git clone --recursive -b 3.0 git://github.com/example42/control-repo-archive.git
NOTE: earlier versions are based on git modules
and have not a control-repo
structure.
All the modules have a metadata.json
file where dependencies are described.
Most of the modules require PuppetLabs' stdlib
.
Some modules (the ones, of generation 2.x, which use the params_lookup
function) require Puppi.