sean797.foreman_installer
foreman_installer 
Rôle pour interagir avec foreman-installer
Exigences
N/A
Variables du rôle
vars:
foreman_installer:
foreman_installer_pkg: # Paquet de l'installateur foreman. Vous voudrez probablement soit "foreman-installer" soit "katello".
foreman_installer_verbose: # Exécute l'installateur avec l'option -v
foreman_installer_scenario: # Scénario. Obligatoire
foreman_installer_scenarios_answers: # Dictionnaire de réponses personnalisées pour votre scénario. Voir [FAQs](https://github.com/sean797/ansible-role-foreman_installer#faqs).
foreman_installer_options: [] # Tableau d'options supplémentaires à passer chaque fois que l'installateur est exécuté
foreman_installer_generate_proxy_certs_from: # Chaîne contenant l'hôte ansible pour générer des certificats pour un Proxy intelligent Katello
foreman_installer_katello_ca: # Chaîne contenant le certificat CA personnalisé. Uniquement pour Katello et Proxy intelligent Katello.
foreman_installer_katello_cert: # Chaîne contenant le certificat personnalisé. Uniquement pour Katello.
foreman_installer_katello_key: # Chaîne contenant la clé personnalisée. Uniquement pour Katello.
foreman_installer_katello_csr: # Chaîne contenant la CSR personnalisée. Uniquement pour Katello.
foreman_installer_katello_proxy_cert: # Chaîne contenant le certificat personnalisé. Uniquement pour Proxy intelligent Katello.
foreman_installer_katello_proxy_key: # Chaîne contenant la clé personnalisée. Uniquement pour Proxy intelligent Katello.
foreman_installer_katello_proxy_csr: # Chaîne contenant la CSR personnalisée. Uniquement pour Proxy intelligent Katello.
foreman_installer_katello_certs_dir: # Répertoire pour stocker les certificats
foreman_installer_update_certs: False # Mettre sur True pour forcer la mise à jour des certificats.
foreman_installer_update_certs_tar: False # Mettre sur True pour forcer la génération d'une nouvelle archive de certificats de Proxy à appliquer.
# Options avancées
foreman_installer_patches: # Tableau de dictionnaires permettant les correctifs pour les fichiers de l'installateur. Voir defaults/main.yml pour un exemple.
foreman_installer_encryption_key: # Clé de cryptage à mettre dans /etc/foreman/encryption_key.rb. Doit être la même dans un cluster Foreman.
foreman_installer_katello_cluster_group: # Nom du groupe d'inventaire contenant tous les serveurs Katello. Requiert http://projects.theforeman.org/issues/20021
Exemple de Playbook
Scénario Foreman de base :
- hosts:
- foreman.example.com
roles:
- role: foreman_installer
foreman_installer_scenario: foreman
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
Scénario Katello avec certificats personnalisés :
- hosts:
- katello.example.com
var_files:
- group_vars/vault_certs.yml
roles:
- role: foreman_installer
foreman_installer_pkg: katello
foreman_installer_scenario: katello
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
foreman_installer_katello_ca: "{{ vault_foreman_installer_katello_ca }}"
foreman_installer_katello_cert: "{{ vault_katello_cert }}"
foreman_installer_katello_key: "{{ vault_foreman_installer_katello_key }}"
foreman_installer_katello_csr: "{{ vault_foreman_installer_katello_csr }}"
Scénario Proxy Katello avec archive de certificats fournie :
- hosts:
- foreman-proxy.example.com
roles:
- role: foreman_installer
foreman_installer_pkg: foreman-proxy-content
foreman_installer_scenario: foreman-proxy-content
foreman_installer_scenarios_answers:
foreman_proxy_content:
certs_tar: /root/foreman-proxy.example.com-certs.tar #Cela doit déjà être sur le disque
pulp_oauth_secret: <outputted when generating the certificates tar>
parent_fqdn: katello.example.com
foreman_proxy:
oauth_consumer_key: <outputted when generating the certificates tar>
oauth_consumer_secret: <outputted when generating the certificates tar>
foreman_base_url: https://katello.example.com
trusted_hosts:
- katello.example.com
- "{{ ansible_fqdn }}"
Scénario Proxy Katello sans archive de certificats fournie :
- hosts:
- foreman-proxy.example.com
roles:
- role: foreman_installer
foreman_installer_pkg: foreman-proxy-content
foreman_installer_scenario: foreman-proxy-content
foreman_installer_generate_proxy_certs_from: katello.example.com
foreman_installer_katello_proxy_cert: "{{ vault_proxy1_cert }}"
foreman_installer_katello_proxy_key: "{{ vault_proxy1_key }}"
foreman_installer_katello_proxy_csr: "{{ vault_proxy1_csr }}"
foreman_installer_katello_ca: "{{ vault_foreman_installer_katello_ca }}"
foreman_installer_scenarios_answers:
foreman_proxy_content:
parent_fqdn: katello.example.com
foreman_proxy:
foreman_base_url: https://katello.example.com
trusted_hosts:
- katello.example.com
Cluster Katello avec certificats personnalisés :
Quelques éléments à noter :
- Toutes les clés, secrets et réponses de mot de passe doivent être identiques dans le cluster. Veuillez ne pas utiliser les valeurs de cet exemple.
- L'option
foreman_installer_patches
a été utilisée uniquement pour backporter http://projects.theforeman.org/issues/20021 dans ma version Katello.
- hosts:
- katello1.example.com
- katello2.example.com
var_files:
- group_vars/vault_certs.yml
roles:
- role: foreman_installer
foreman_installer_pkg: katello
foreman_installer_scenario: katello
foreman_installer_scenarios_answers:
foreman_proxy_content:
pulp_oauth_secret: uC2qfoQfPVhdFTBEbS89ykZWQz6BVpcu
foreman:
db_password: KmVzXiWuVWCUZrn4kWF8PRsFG4H4ecqo
initial_location: Global
initial_organization: AMCE
admin_password: changeme
servername: katello.example.com
foreman_url: https://katello.example.com
oauth_consumer_key: xmi95B9qNQoX6owdg4MT8WMCBNhgudYy
oauth_consumer_secret: x6TheD8Z9ZBtgdgBUrqSbPR2rh6k7UQE
foreman_proxy:
registered_name: katello.example.com
registered_proxy_url: https://katello.example.com:9090
oauth_consumer_key: xmi95B9qNQoX6owdg4MT8WMCBNhgudYy
oauth_consumer_secret: x6TheD8Z9ZBtgdgBUrqSbPR2rh6k7UQE
foreman_base_url: https://katello.example.com
trusted_hosts:
- katello.example.com
- katello1.example.com
- katello2.example.com
katello:
oauth_secret: uC2qfoQfPVhdFTBEbS89ykZWQz6BVpcu
foreman_installer_custom_hiera:
candlepin::db_password: L45DkebcvWdgXG9ryzWkfavSvQ23dw8U
foreman_installer_encryption_key: dfc6799e4d722a4e86c786cb0fc96cbbae0151f6
foreman_installer_katello_cluster_group: katello-servers
foreman_installer_katello_ca: "{{ vault_foreman_installer_katello_ca }}"
foreman_installer_katello_cert: "{{ vault_katello_cert }}" # Le certificat doit utiliser des dns-alt-names avec tous les noms d'hôtes du cluster et le nom d'hôte VIP.
foreman_installer_katello_key: "{{ vault_foreman_installer_katello_key }}"
foreman_installer_katello_csr: "{{ vault_foreman_installer_katello_csr }}"
foreman_installer_patches:
- { src: files/katello_certs_tools.patch, basedir: /usr/lib/python2.7/site-packages/ }
- { src: files/puppet-certs.patch, basedir: /usr/share/katello-installer-base/modules/certs/ }
Cluster de proxy Foreman connecté à un cluster Katello avec certificats personnalisés :
Chaque proxy est son propre proxy dans Foreman, mais un client peut utiliser une adresse VIP pour se connecter à l'un ou l'autre pour des packages.
- hosts:
- foreman-proxy1.example.com
- foreman-proxy2.example.com
roles:
- role: foreman_installer
foreman_installer_pkg: foreman-proxy-content
foreman_installer_scenario: foreman-proxy-content
foreman_installer_generate_proxy_certs_from: katello1.example.com
foreman_installer_katello_proxy_cert: "{{ vault_proxy1_cert }}" # Le certificat doit utiliser des dns-alt-names avec tous les noms d'hôtes du cluster et le nom d'hôte VIP.
foreman_installer_katello_proxy_key: "{{ vault_proxy1_key }}"
foreman_installer_katello_proxy_csr: "{{ vault_proxy1_csr }}"
foreman_installer_katello_ca: "{{ vault_foreman_installer_katello_ca }}"
foreman_installer_scenarios_answers:
foreman_proxy_content:
parent_fqdn: katello.example.com
foreman_proxy:
foreman_base_url: https://katello.example.com
trusted_hosts:
- katello1.example.com
- katello2.example.com
- katello.example.com
- foreman-proxy1.example.com
- foreman-proxy2.example.com
- foreman-proxy.example.com
FAQs
Comment savoir quelles options mettre dans la variable foreman_installer_scenarios_answers
?
Vous devez vérifier le fichier /etc/foreman-installer/scenarios.d/{{ foreman_installer_scenario }}-answers.yaml. Stocker les réponses de cette manière rend le rôle idempotent, si vous utilisez foreman_installer_options
, nous devrions exécuter l'installateur à chaque exécution pour nous assurer qu'il est appliqué. Alors que cette méthode nous permet de gérer le fichier de réponses et d'exécuter l'installateur en tant que gestionnaire (uniquement si quelque chose change).
Comment retirer des options de la variable foreman_installer_scenarios_answers
?
Vous devez définir la valeur sur null
.
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
admin_last_name: null
Comment activer ou désactiver un plug-in ?
Pour activer, définissez la valeur sur un hash vide. Pour désactiver, définissez la valeur sur false.
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
admin_last_name: null
"foreman::plugin::remote_execution": {}
"foreman::plugin::discovery": false
Interacts with foreman-installer/satellite-installer to build Foreman, Katello, Satllite 6, Capsules or Smart Proxies.
ansible-galaxy install sean797.foreman_installer