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"
Example42Puppet modules(Version 1.x) are no more supported or recommended. They are supposed to work also onPuppetversions 0.x. You can give them a look using the 1.0 branch of this repo. -
"NextGen"
Example42Puppet modules(Version 2.x) were made before the release ofPuppet 3. They are compatible withPuppetversion 2.6 , 3 and, for most, 4 and requireexample42'spuppi module. Most of the modules you still see on theForgebelong 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 submodulesonbranch 2.0of 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.xThis is an half baked generation, which was abandoned for other projects. -
Version 4.x modules. Most of the old
pre-Puppet 4modules have been deprecated and not maintained anymore. They arePuppet 4only compliant. The structure of the repo has changed radically, all thegit submoduleshave been removed and acontrol-repostyle has been introduced. With the release of 4.x this repo has been renamed: from puppet-modules to control-repo. -
With the introduction of
PSICKwe started release numbering from scratch, even if the amount of code inherited from thecontrol-repois quite relevant. We renamed the originalGitHubrepo 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 historyand a tiniergitrepo, without 8 years of code stratifications -
We wanted to start from scratch release
versioning,tagsandbranches. -
We think that the original concept of having a single place where to manage the whole
Puppet infrastructurehas been there since the very first iteration, even if in totally different shapes. -
Honestly, most of all, we wanted to preserve
GitHub'sstars on our historicPuppet modulesrepository.
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.