Foreman
Foreman is a host management system for Linux systems.
Installation
Foreman can be installed on most Linux distributions as well as in Docker. This section will go over the steps needed to get Foreman running on one server. However, individual foreman components could be installed on separate machines if desired.
To quickly get started with Foreman, get a clean install of CentOS and install the foreman-installer:
# yum -y install https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm && \
yum -y install http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm && \
yum -y install https://yum.theforeman.org/releases/1.15/el7/x86_64/foreman-release.rpm && \
yum -y install foreman-installer
The foreman-installer will bootstrap the installation process using the puppet classes that are bundled with it with the features that are desired as arguments.
# /usr/sbin/foreman-installer \
--foreman-servername foreman.lab.cpsc.ucalgary.ca \
--foreman-serveraliases foreman \
--foreman-db-type postgresql \
--foreman-db-username foreman \
--foreman-db-database foreman \
--foreman-db-password a4jbdsftsdfrsdfhdfdfPjk7zb \
--foreman-db-manage true \
--enable-foreman \
--enable-puppet \
--enable-foreman-plugin-salt \
--enable-foreman-plugin-discovery \
--enable-foreman-proxy-plugin-discovery \
--foreman-plugin-discovery-install-images true
/usr/sbin/foreman-rake db:migrate
/usr/sbin/foreman-rake db:seed
/usr/sbin/foreman-rake permissions:reset
The Smart Proxy can be installed using a command like this:
# /usr/sbin/foreman-installer \
--enable-foreman-proxy \
--foreman-proxy-tftp=true \
--foreman-proxy-tftp-servername=192.168.154.129 \
--foreman-proxy-dhcp=true \
--foreman-proxy-dhcp-interface=ens33 \
--foreman-proxy-dhcp-gateway=192.168.154.2 \
--foreman-proxy-dhcp-range="192.168.154.10 192.168.154.99" \
--foreman-proxy-dhcp-nameservers="192.168.154.129" \
--foreman-proxy-dns=true \
--foreman-proxy-dns-interface=ens33 \
--foreman-proxy-dns-zone=lab.cpsc.ucalgary.ca \
--foreman-proxy-dns-reverse=154.168.192.in-addr.arpa \
--foreman-proxy-dns-forwarders=192.168.154.2 \
--foreman-proxy-foreman-base-url=https://foreman.lab.cpsc.ucalgary.ca \
--foreman-proxy-oauth-consumer-key=nR2c2fqESzhcNpGKncenchS4LHNvHP5s \
--foreman-proxy-oauth-consumer-secret=u6KnRBtdZvRy8KEiYCeGhwVXDpjK6mhb