Foreman installer

Version 13 (Greg Sutcliffe, 05/07/2012 07:44 pm)

1 4 Ohad Levy
{{toc}}
2 4 Ohad Levy
3 3 Ohad Levy
h1. Puppet modules for managing Foreman
4 1
5 5 Ohad Levy
The installer can be used in multiple ways:
6 5 Ohad Levy
* Installs Foreman as a standalone application or using apache passenger.
7 5 Ohad Levy
* Installs Foreman Proxy
8 5 Ohad Levy
* May install an example puppet master setup using passenger as well, including the tweaks required for foreman.
9 1
10 7 Ohad Levy
h2. Installation
11 1
12 12 Greg Sutcliffe
h3. A note on older puppet versions
13 12 Greg Sutcliffe
14 12 Greg Sutcliffe
The "master" branches are being updated with parameterized classes. If you are running a version of Puppet which doesn't support this (0.25.x or lower) then you should check out the "oldstable" versions of the modules. We will try to fix bugs in either branch, so bug reports are appreciated in either case. Currently, "oldstable" branches exist for:
15 13 Greg Sutcliffe
* puppet-foreman_proxy (master not parameterized yet, but contains references to experimental DHCP/DNS modules)
16 13 Greg Sutcliffe
* puppet-puppet        (master parameterized for both agent and server, see README for details)
17 12 Greg Sutcliffe
18 7 Ohad Levy
h3. Using GIT
19 1
20 12 Greg Sutcliffe
<pre>
21 12 Greg Sutcliffe
git clone --recursive git://github.com/theforeman/foreman-installer.git              (for the latest installer)
22 12 Greg Sutcliffe
git clone --recursive git://github.com/theforeman/foreman-installer.git -b oldstable (for puppet 0.25.x or lower)
23 12 Greg Sutcliffe
</pre>
24 7 Ohad Levy
25 7 Ohad Levy
h3. Direct download
26 7 Ohad Levy
27 7 Ohad Levy
Since we are no longer using one repository for all sources, a single tarball is no longer provided.
28 7 Ohad Levy
You can either follow the script below, or download the source code for each module on its own:
29 7 Ohad Levy
30 7 Ohad Levy
http://github.com/theforeman/puppet-apache/tarball/master
31 7 Ohad Levy
http://github.com/theforeman/puppet-foreman/tarball/master
32 1
http://github.com/theforeman/puppet-foreman_proxy/tarball/master
33 12 Greg Sutcliffe
http://github.com/theforeman/puppet-git/tarball/master
34 7 Ohad Levy
http://github.com/theforeman/puppet-passenger/tarball/master
35 7 Ohad Levy
http://github.com/theforeman/puppet-puppet/tarball/master
36 7 Ohad Levy
http://github.com/theforeman/puppet-tftp/tarball/master
37 1
http://github.com/theforeman/puppet-xinetd/tarball/master
38 12 Greg Sutcliffe
39 12 Greg Sutcliffe
Optional Modules:
40 12 Greg Sutcliffe
41 12 Greg Sutcliffe
These provide support for the experimental DHCP/DNS auto configuration in the proxy. Use at your own risk (but send me bug reports :P)
42 12 Greg Sutcliffe
http://github.com/GregSutcliffe/puppet-dhcp/tarball/master
43 12 Greg Sutcliffe
http://github.com/GregSutcliffe/puppet-dns/tarball/master
44 12 Greg Sutcliffe
http://github.com/GregSutcliffe/concat/tarball/master (dependency)
45 7 Ohad Levy
46 1
h2. Requirements
47 3 Ohad Levy
48 1
if you are using RHEL, EPEL repo must be enabled http://fedoraproject.org/wiki/EPEL
49 4 Ohad Levy
50 3 Ohad Levy
if you are using Debian (or Ubuntu), see the additional notes in README.debian
51 1
52 11 Lukas Zapletal
Make sure SELinux is disabled or permissive when running on Fedora/RHEL.
53 11 Lukas Zapletal
54 4 Ohad Levy
h2. Setup/Configuration
55 4 Ohad Levy
56 1
*Please review the variables under */manifests/params.pp*
57 1
58 8 Ohad Levy
h3. only Foreman
59 1
60 1
<pre>
61 1
echo include foreman | puppet --modulepath /path_to/extracted_tarball
62 1
</pre>
63 3 Ohad Levy
64 8 Ohad Levy
h3. Both foreman and its proxy:
65 3 Ohad Levy
66 1
<pre>
67 1
echo include foreman, foreman_proxy | puppet --modulepath /path_to/extracted_tarball
68 3 Ohad Levy
</pre>
69 1
70 8 Ohad Levy
h3. On your Puppet Master
71 7 Ohad Levy
72 3 Ohad Levy
if you just want to include the relavant bits to run on your puppet master you may
73 1
74 7 Ohad Levy
<pre>
75 1
include foreman::params, foreman::config::enc, foreman::config::reports
76 1
</pre>
77 3 Ohad Levy
78 8 Ohad Levy
h3. All in one box (Puppet, Foreman, Proxy)
79 1
80 7 Ohad Levy
if you want to install it all on one box
81 7 Ohad Levy
82 1
<pre>
83 3 Ohad Levy
export MODULE_PATH="/etc/puppet/modules/common"
84 3 Ohad Levy
mkdir -p $MODULE_PATH
85 10 Greg Sutcliffe
for mod in apache foreman foreman_proxy git passenger puppet tftp xinetd; do
86 7 Ohad Levy
  mkdir -p $MODULE_PATH/$mod
87 7 Ohad Levy
  wget http://github.com/theforeman/puppet-$mod/tarball/master -O - | tar xzvf - -C $MODULE_PATH/$mod --strip-components=1
88 7 Ohad Levy
done;
89 3 Ohad Levy
echo include puppet, puppet::server, foreman, foreman_proxy | puppet --modulepath $MODULE_PATH
90 3 Ohad Levy
</pre>