Tracker #9596


Extract Puppet functionality to a plugin

Added by Daniel Lobato Garcia almost 9 years ago. Updated over 6 years ago.

Puppet integration
Target version:
% Done:


Fixed in Releases:
Found in Releases:


Currently Foreman is very reliant on Puppet. To the point adding new configuration management systems feel to most users like an addition to Puppet, but they can't get rid of it. Similarly, users who just want an inventory and provisioning tool are just not able to get a clean Foreman. Also this extraction hopefully will help us clean up old code. I don't think there's much room to extract things out of Foreman after this, so basically getting this done means Foreman core can be defined as:
  • Data center inventory (Hosts, Host groups, Params, Statistics, etc...)
  • Provisioning and orchestration of hosts
  • API to your infrastructure
  • Robust & flexible pluggable interface - should support any kind of crazy addition [1]
  • Multi-user (Auth sources, Roles, User groups, Users, Audits..)

The aim for this tracker is to cover issues for the removal of all Puppet dependencies, which in turn have to be linked with an issue for the creation of the equivalent thing in a plugin 'foreman_puppet'.

[1] : - make sure your BAC is within the OK range before deploying a bunch of new servers :)

Related issues 15 (6 open9 closed)

Related to Foreman - Refactor #15404: Move environment class variable to a concernNew06/14/2016Actions
Related to Foreman - Refactor #15405: Move puppet related helpers to a separate helper class.ClosedShimon Shtein06/14/2016Actions
Related to Foreman - Refactor #15406: Move puppet_environment overview field outside core's #overview_fields helper.ClosedShimon ShteinActions
Related to Foreman - Refactor #15408: Move puppetCA autosign handling to a separate orchestration action.New06/14/2016Actions
Related to Foreman - Refactor #15409: Refactor (puppet) facts out of host classes.ClosedShimon ShteinActions
Related to Foreman - Refactor #15411: Move SmartProxy.smart_proxy_ids_for to Host classClosedOndřej Pražák06/14/2016Actions
Related to Foreman - Refactor #15503: Remve puppet from lookup_keys base classNew06/22/2016Actions
Related to Foreman - Refactor #15710: Create STI for LookupValuesDuplicate07/17/2016Actions
Related to Foreman - Refactor #15711: Remove inheritance from classification system and move type specific functionality to providers framework.ClosedShimon Shtein07/17/2016Actions
Related to Foreman - Refactor #15846: Rename use_puppet_default in lookup values to skip_foremanClosedShimon Shtein07/27/2016Actions
Blocked by Foreman - Refactor #9598: Link configuration management specifics to docsNew03/01/2015Actions
Blocked by Foreman - Refactor #9599: Remove Puppet specific fields from Host/Host groupNew03/01/2015Actions
Blocks Foreman - Refactor #9600: Remove Puppet specific options from top barNew03/01/2015Actions
Blocked by Foreman - Refactor #15402: Move puppet actions out of API hosts controllerClosedShimon Shtein06/14/2016Actions
Blocked by Foreman - Refactor #15403: Move puppet actions outside of UI controllerClosedShimon Shtein06/14/2016Actions

Also available in: Atom PDF