sean797.foreman_installer

foreman_installer Build Status

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
Über das Projekt

Interacts with foreman-installer/satellite-installer to build Foreman, Katello, Satllite 6, Capsules or Smart Proxies.

Installieren
ansible-galaxy install sean797.foreman_installer
Lizenz
gpl-3.0
Downloads
1.2k
Besitzer