- Requirements for the foreman core component
- Initial setup
- Smart proxy installation
- Future Updates
Requirements for the foreman core component¶
before you start, make sure you have:
- Puppet >= 0.24-4
- rake >= 0.84
- ruby-sqlite3 (libsqlite3-ruby) if you are going to use sqlite as your database
- git (if installing from source )
The installation has been successfully tested on RHEL[5,6], Fedora[13,14], Debian Linux 5.0 (Lenny) and 6.0 (Squeeze) and Ubuntu Linux 10.04, 10.10, and 11.04. For older operating systems you might need additional packages (e.g. sqlite).
It is also known to work on Solaris and Mac.
Puppet Module ready to use¶
You may try out the puppet Foreman module, this should take care for most of the basic setup.
The module could be downloaded via: http://github.com/ohadlevy/puppet-foreman/tarball/master
you may use puppet (if you don't want to add it as a module to your puppetmaster) in the following way:
if you are using RHEL, EPEL repo must be enabled http://fedoraproject.org/wiki/EPEL
If you are using puppet store configs please set $using_store_configs to true in foreman/manifests/init.pp.
If you want this module to configure passenger as well, set $using_passenger to true in foreman/manifests/init.pp
echo include foreman | puppet --verbose --modulepath /path_to/extracted_tarball
Its recommend to review the module prior usage.
Foreman configuration is managed from two places; a configuration file config/settings.yaml and from the SETTINGS/Foreman Settings page. A full description of the configuration options is given here
Foreman uses a database, this database can be shared with Puppet store-configs (they are compatible, as Foreman extends the puppet database schema).
By default, SQLite is used, if you want to use other database (e.g. MySQL) please modify the configuration file under .
If you want to share the database with Puppets (storeconfig), just modify to point to the same database configuration as puppet is.
In both cases, please use the production settings.
to initialize the database schema type:
cd <foreman installation path> && RAILS_ENV=production rake db:migrate
Import Data from Puppet¶
At this point, you might want to go through the FAQ to see how can you import your data into Foreman.
Start The Web Server¶
if you installed via rpm, just start the foreman service, or start the built in web server by typing:
./script/server -e production
and point your browser to http://foreman:3000
If you would like to keep the server running, its recommend to setup passenger or use the RPM.
example usage with passenger can be found here: http://github.com/ohadlevy/puppet-foreman/blob/master/foreman/templates/foreman-vhost.conf.erb
Getting your Puppet Reports into Foreman¶
Read Puppet_Reports to learn how to get your nodes to report to Foreman.
Smart proxy installation¶
A smart proxy is an autonomous web-based foreman component that is placed on a host performing a specific function in the host commissioning phase.
It receives requests from Foreman to perform operations that are required during the commissioning process and executes them on its behalf. More details can be found on the Foreman Architecture page.
To fully manage the commissioning process then a smart proxy will have to manipulate these services, DHCP, DNS, Puppet CA, Puppet and TFTP. These services may exist on separate machines or several of them may be hosted on the same machine. As each smart proxy instance is capable of managing all the of these services, there is only need for one proxy per host.
In the special case of a smart proxy managing a windows DHCP server, the host machine must be running Windows and support the netsh dhcp utility, it does not need to be the Microsoft DHCP server itself.
Download¶Download the smart proxy code from
- the git repository
- the rpm location
- this zip file.
When downloaded, extract into a suitable location and follow the README file.