sean797.foreman_installer
foreman_installer 
Rolle zur Interaktion mit dem Foreman-Installer
Anforderungen
Keine
Rollenvariablen
vars:
foreman_installer:
foreman_installer_pkg: # Paket des Foreman-Installers. Wahrscheinlich "foreman-installer" oder "katello".
foreman_installer_verbose: # Installer mit -v-Option ausführen
foreman_installer_scenario: # Szenario. Erforderlich
foreman_installer_scenarios_answers: # Wörterbuch von benutzerdefinierten Antworten für Ihr Szenario. Siehe [FAQs](https://github.com/sean797/ansible-role-foreman_installer#faqs).
foreman_installer_options: [] # Array zusätzlicher Optionen, die beim Ausführen des Installers übergeben werden
foreman_installer_generate_proxy_certs_from: # Zeichenfolge, die den Ansible-Host enthält, um Zertifikate für einen Katello-Smart-Proxy zu generieren
foreman_installer_katello_ca: # Zeichenfolge mit dem benutzerdefinierten CA-Zertifikat. Nur Katello und Katello Smart Proxy.
foreman_installer_katello_cert: # Zeichenfolge mit dem benutzerdefinierten Zertifikat. Nur Katello.
foreman_installer_katello_key: # Zeichenfolge mit dem benutzerdefinierten Schlüssel. Nur Katello.
foreman_installer_katello_csr: # Zeichenfolge mit dem benutzerdefinierten CSR. Nur Katello.
foreman_installer_katello_proxy_cert: # Zeichenfolge mit dem benutzerdefinierten Zertifikat. Nur Katello Smart Proxy.
foreman_installer_katello_proxy_key: # Zeichenfolge mit dem benutzerdefinierten Schlüssel. Nur Katello Smart Proxy.
foreman_installer_katello_proxy_csr: # Zeichenfolge mit dem benutzerdefinierten CSR. Nur Katello Smart Proxy.
foreman_installer_katello_certs_dir: # Verzeichnis für die Speicherung der Zertifikate
foreman_installer_update_certs: False # Auf True setzen, um ein Zertifikatsupdate zu erzwingen.
foreman_installer_update_certs_tar: False # Auf True setzen, um ein neues Proxy-Zertifikat-Tar zu erzeugen und anzuwenden.
# Erweiterte Optionen
foreman_installer_patches: # Array von Wörterbüchern für Patches gegen die Installationsdateien. Siehe defaults/main.yml für ein Beispiel.
foreman_installer_encryption_key: # Verschlüsselungsschlüssel, der in /etc/foreman/encryption_key.rb eingegeben wird. Muss in einem Foreman-Cluster identisch sein.
foreman_installer_katello_cluster_group: # Name der Inventargruppe, die alle Katello-Server enthält. Erfordert http://projects.theforeman.org/issues/20021
Beispiel-Playbook
Einfaches Foreman-Szenario:
- hosts:
- foreman.example.com
roles:
- role: foreman_installer
foreman_installer_scenario: foreman
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
Katello-Szenario mit benutzerdefinierten Zertifikaten:
- 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 }}"
Katello-Proxy-Szenario mit bereitgestellten Zertifikaten tar:
- 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 # Dies muss bereits auf der Festplatte vorhanden sein
pulp_oauth_secret: <wird beim Generieren des Zertifikats tar ausgegeben>
parent_fqdn: katello.example.com
foreman_proxy:
oauth_consumer_key: <wird beim Generieren des Zertifikats tar ausgegeben>
oauth_consumer_secret: <wird beim Generieren des Zertifikats tar ausgegeben>
foreman_base_url: https://katello.example.com
trusted_hosts:
- katello.example.com
- "{{ ansible_fqdn }}"
Katello-Proxy-Szenario ohne bereitgestellte Zertifikate tar:
- 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
Katello-Cluster mit benutzerdefinierten Zertifikaten:
Einige Dinge zu beachten:
- Alle Schlüssel, geheimen und Passwortantworten müssen für den Cluster identisch sein. Bitte verwenden Sie nicht die Werte in diesem Beispiel.
- Die Option
foreman_installer_patches
wurde nur verwendet, um http://projects.theforeman.org/issues/20021 auf meine Katello-Version zurückzupatchen.
- 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 }}" # Das Zertifikat muss dns-alt-names mit allen Cluster-Hostnamen und VIP-Hostnamen verwenden.
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/ }
Foreman-Proxy-Cluster, der mit einem Katello-Cluster mit benutzerdefinierten Zertifikaten verbunden ist:
Jeder Proxy ist ein eigener Proxy in Foreman, aber ein Client kann eine VIP-Adresse verwenden, um sich mit einem von ihnen für Pakete zu verbinden.
- 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 }}" # Das Zertifikat muss dns-alt-names mit allen Cluster-Hostnamen und VIP-Hostnamen verwenden.
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
Wie weiß ich, welche Optionen ich in die foreman_installer_scenarios_answers
-Variable einfügen soll?
Sie müssen die Datei /etc/foreman-installer/scenarios.d/{{ foreman_installer_scenario }}-answers.yaml überprüfen. Die Speicherung von Antworten auf diese Weise macht die Rolle idempotent; wenn Sie stattdessen foreman_installer_options
verwenden, würden wir den Installer bei jedem Lauf ausführen müssen, um sicherzustellen, dass er angewendet wird. Diese Methode ermöglicht es uns, die Antwortdatei zu verwalten und den Installer nur dann als Handler auszuführen, wenn sich etwas ändert.
Wie entferne ich Optionen aus der foreman_installer_scenarios_answers
-Variable?
Sie müssen den Wert auf null
setzen.
foreman_installer_scenarios_answers:
foreman:
admin_password: changeme
admin_last_name: null
Wie aktiviere oder deaktiviere ich ein Plug-in?
Um zu aktivieren, setzen Sie den Wert auf ein leeres Wörterbuch. Um zu deaktivieren, setzen Sie den Wert auf 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