Automated Foreman installation and configuration
Latest commit c8ef80a Sep 12, 2017 @mmoll mmoll committed with ekohl Refs #20893 - pin puppetlabs-stdlib (#243)
Failed to load latest commit information.
checks Add logic to check executable of facter command Apr 21, 2017
config Fixes #20889 - Use the Apache MPM event worker Sep 11, 2017
hooks fixes #16240 - use module_enabled? in hook for correct status Sep 1, 2016
man Fixes #10369 - added support for scenarios Feb 18, 2016
spec Add spec to compare answers/config to migrations Nov 18, 2016
.travis.yml Test foreman-installer under Puppet 4 Apr 8, 2017
Gemfile Test foreman-installer under Puppet 4 Apr 8, 2017
LICENSE Add Modulefile and pre-reqs for Puppet Forge, add build script May 20, 2013
Puppetfile Refs #20893 - pin puppetlabs-stdlib (#243) Sep 12, 2017 Fixes #10369 - added support for scenarios Feb 18, 2016
Rakefile Add spec to compare answers/config to migrations Nov 18, 2016
VERSION Bump version to 1.17-develop Aug 28, 2017

Puppet modules for managing Foreman

Installs Foreman as a standalone application or using apache passenger.

Installs Foreman Proxy

May install an example puppet master setup using passenger as well, including the tweaks required for foreman.


Stable release

Releases of foreman-installer are made via RPM and deb packages and are published via the normal Foreman repositories.

See the manual and quickstart guide available at

Using GIT

git clone --recursive git:// -b develop


if you are using RHEL, EPEL repo must be enabled

if you are using Debian (or Ubuntu), see the additional notes in README.debian

The Puppet Labs repositories may optionally be enabled for newer versions of Puppet than are available in base OS repos.


Please review the "answers" or setup file: /etc/foreman-installer/scenarios.d/foreman-answers.yaml. This file allows you to override any of the default parameters (as specified in /manifests/params.pp)

Once you are fine with your answer file, install it with this command:


or if you prefer interactive mode

foreman-installer -i

The answer file is a yaml format. For a module just using the defaults, simply put "modulename: true" to include, or false to exclude. For a module which you wish to override any defaults, it becomes a hash, with each overridden parameter as a key-value pair.

A few sample files now follow:

All-in-one installation:

foreman: true
  server: true
foreman_proxy: true

Just Foreman on its own:

foreman: true
puppet: false
foreman_proxy: false

Foreman and Foreman-Proxy:

foreman: true
puppet: false
foreman_proxy: true

Puppetmaster with Git and Proxy:

foreman: false
  server: true
  server_git_repo: true
foreman_proxy: true

Foreman & proxy with a different username:

  user: 'myforeman'
puppet: false
  user: 'myproxy'


If you just want to include the relavant bits to run on your puppet master you may

include foreman::params, foreman::config::enc, foreman::config::reports


  • Fork the project
  • Commit and push until you are happy with your contribution
  • Send a pull request with a description of your changes

More info

See or at #theforeman irc channel on freenode

Copyright (c) 2010-2012 Ohad Levy and their respective owners

Except where specified in provided modules, this program and entire repository is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see