Skip to content
Automated Foreman installation and configuration
Branch: develop
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin Rename katello-certs directory Jan 17, 2019
checks Fixes #25842 - Correct DNS comparisons Mar 11, 2019
config Refs #26282 - Add config migrations Mar 23, 2019
hooks Fixes #25951 - always print the credentials after install Jan 31, 2019
katello_certs Fixes #26256 - Fix proxy cert generation hooks Mar 8, 2019
man Fixes #25844 - Remove deleted parameters Jan 15, 2019
spec Refs #26282 - Add config migrations Mar 23, 2019
.travis.yml add documentation from katello-installer Feb 15, 2019
LICENSE Add Modulefile and pre-reqs for Puppet Forge, add build script May 20, 2013

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

See for more details.


This repository also contains the tooling required to install Foreman Katello.

See for details and specifics of that setup.

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

You can’t perform that action at this time.