riponbanik.foreman
Rol de Ansible para instalar y configurar Foreman
La máquina virtual de Ubuntu en TravisCI tiene problemas; se probó con kitchen-ansible utilizando una máquina vagrant de hyperv y Amazon EC2.
Requisitos
Foreman requiere que el nombre del host sea un FQDN (nombre de dominio completamente calificado). Usa el módulo de nombre de host de Ansible para cambiar el nombre del host a un FQDN o usa la siguiente variable de rol para cambiar el nombre del host, por ejemplo: foreman_hostname: foreman.vagrantup.com
Cuando la instalación sea exitosa, se puede acceder a Foreman utilizando https://foreman_fqdn con las credenciales predeterminadas a continuación:
Usuario: admin Contraseña: password
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
disable_puppet: true
Por defecto, la instalación de Foreman "todo en uno" incluye un maestro de Puppet, pero esto se puede desactivar con el parámetro anterior.
Dependencias
Se necesita una máquina virtual (en local o en la nube) para la instalación. Se probó con los siguientes sistemas operativos:
- Redhat Enterprise Linux 7, CentOS 7
- Ubuntu 16.04 (Xenial), 18.04 (Bionic)
- Debian 9
Tanto PostgreSQL como MySQL son compatibles para todos los anteriores excepto Debian. Debian solo soporta PostgreSQL.
Ejemplo de Playbook
- name: Instalar Puppet Master
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
- name: Instalar Chef Server
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_plugins:
- chef
- tasks
- name: Instalar Chef Proxy
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_proxy_plugins:
- chef
foreman_proxy_plugin_options:
chef-server-url: 'https://chef.example.com/organizations/default'
chef-client-name: 'foreman'
chef-private-key: '/etc/opscode/foreman.pem'
chef-ssl-verify: 'false'
- name: Instalar Ansible
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_plugins:
- ansible
- remote-execution
foreman_proxy_plugins:
- ansible
- remote-execution-ssh
- name: Instalar Ansible
hosts: servers
vars_files:
- vars/main.yml
roles:
- role: riponbanik.foreman
foreman_hostname: foreman.vagrantup.com
foreman_version: 1.19
foreman_compute:
- ec2
Instalación
Instalar el rol desde Ansible Galaxy al directorio de roles por defecto de Ansible
sudo ansible-galaxy install riponbanik.foreman -p /etc/ansible/roles
Ejecutar la instalación localmente en la máquina
sudo ansible-playbook -c local -i "localhost," playbook.yml
Licencia
MIT / BSD
Referencias
La documentación está disponible en la página de Foreman [https://www.theforeman.org/]
Información del Autor
Este rol fue creado en 2018 por Ripon Banik. Correcciones y pruebas en 2019 por Chris Scheible.
ansible-galaxy install riponbanik.foreman