Skip to content

Ansible playbooks to deploy theforeman.org using foreman-ansible-modules

Notifications You must be signed in to change notification settings

LOXDA/ansible-foreman

Repository files navigation

TFM FOREMAN

One tool to deploy the stack

  +---------------------+
  |      App (code)     |
~~+---------------------+~~
  |  Operating System   |
  +---------------------+
  |      (Virtual)      |
~~+---------------------+~~
  |      Physical       |
  +---------------------+

Ansible repo to provision an instance of theforeman with custom set of parameters (deploy & provision)

Setup deployement:

Using a working python environnement, or activate a virtualenv :

    pip3 install -r ./requirement.txt
    export ANSIBLE_COLLECTIONS_PATH=./collections
    ansible-galaxy collection install -r roles/requirements.yml
    export ANSIBLE_ROLES_PATH=./roles
    ansible-galaxy role install -r roles/requirements.yml

Run examples :

# clean environment (ONLY IF YOU NEED SOME CLEANUP)
unset $(set | grep --line-buffered ^ANSIBLE_ | awk -F= '{print $1}')
# deploy whole
ansible-playbook -i inventory/lab playbooks/foreman_deploy.yml
# deploy only individual parts
ansible-playbook -i inventory/lab playbooks/foreman_puppet.yml --tags puppet
ansible-playbook -i inventory/lab playbooks/foreman_db.yml --tags db
ansible-playbook -i inventory/lab playbooks/foreman_app.yml --tags app
ansible-playbook -i inventory/lab playbooks/foreman_proxy.yml --tags proxy,oauth

# +fixdhcp for debian>10 with broken omapi in isc-dhcp packaging
ansible-playbook -i inventory/lab playbooks/foreman_proxy.yml --tags proxy,oauth,fixdhcp
# provisioning
ansible-playbook -i inventory/lab playbooks/foreman_deploy.yml --tags provisioning

Parameters are defined at inventory/group level.
Be sure to maps your instances to group in inventory files.
Rename files in host_vars accordingly.

Some macro views:

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_db.yml

foreman_db svg

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_puppet.yml

foreman_puppet svg

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_app.yml

foreman_app svg

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_proxy.yml --tags fixdhcp

foreman_proxy svg

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_provisioning.yml --tags provisioning

foreman_provisioning svg

ansible-playbook-grapher -vvvvvv --include-role-tasks -i inventory/mgmt playbooks/foreman_deploy.yml --tags tfm,fixdhcp,provisioning

foreman_deploy svg

Requirements

see requirement.txt

About

Ansible playbooks to deploy theforeman.org using foreman-ansible-modules

Topics

Resources

Stars

Watchers

Forks

Languages