linux-system-roles.rhc

rhc

ansible-lint.yml ansible-test.yml markdownlint.yml tft.yml tft_citest_bad.yml woke.yml

rhc

Eine Ansible-Rolle, die RHEL-Systeme mit Red Hat verbindet.

Anforderungen

Die Rolle erfordert den Subscription-Manager, der in den Standard-RHEL-Repositories erhältlich ist und normalerweise standardmäßig auf RHEL installiert wird. Auf anderen Distributionen wird er installiert, falls noch nicht vorhanden.

Die Rolle benötigt auch den Insights-Client, der in den Standard-RHEL-Repositories erhältlich ist, falls der Insights-Support aktiviert ist (was standardmäßig der Fall ist).

Darüber hinaus benötigt die Rolle rhc, das in den Standard-RHEL-Repositories erhältlich ist, falls die Insights-Remediation aktiviert ist (was standardmäßig der Fall ist).

Sammlungsanforderungen

Die Rolle benötigt Module aus externen Sammlungen. Verwenden Sie den folgenden Befehl, um sie zu installieren:

ansible-galaxy collection install -vv -r meta/collection-requirements.yml

Rollenvariablen

    rhc_state: present

Ob das System mit Red Hat verbunden ist; gültige Werte sind present (der Standardwert, um die Verbindung sicherzustellen), absent und reconnect.

Beim Einsatz von reconnect wird das System zuerst getrennt, falls es bereits verbunden war; aus diesem Grund wird die Rolle immer einen "geänderten" Status melden.

    rhc_organization: "deine-organisation"

Die Organisation des Benutzers. Dies muss angegeben werden, wenn:

  • der Benutzer zu mehr als einer Organisation gehört
  • Aktivierungsschlüssel verwendet werden (siehe rhc_auth unten)
    rhc_auth: {}

Die Authentifizierungsmethode, die verwendet wird, um ein System zu verbinden. Dies muss angegeben werden, falls ein System möglicherweise eine Verbindung herstellen muss (z. B. falls es zuvor nicht verbunden war). Es gibt einige mögliche Authentifizierungsmethoden; nur eine kann zur gleichen Zeit angegeben werden.

Hinweis: Die für die Authentifizierung verwendeten Variablen gelten als Geheimnisse und sollten daher gesichert werden. Wir empfehlen die Verwendung von Ansible Vault als Quelle dafür. Die nachfolgenden Referenzen beschreiben nur, welche Schlüssel existieren und wofür sie sind.

Für die Authentifizierung mit Benutzername und Passwort geben Sie das login-Wörterbuch mit den folgenden obligatorischen Schlüsseln an:

rhc_auth:
  login:
    username: "dein-benutzername"
    password: "dein-passwort"

Das rhc_organization-Feld verwenden, falls erforderlich.

Für die Authentifizierung mit Aktivierungsschlüsseln geben Sie das activation_keys-Wörterbuch mit den folgenden obligatorischen Schlüsseln zusammen mit rhc_organization an:

rhc_auth:
  activation_keys:
    keys: ["key-1", ...]
rhc_organization: "deine-organisation"
    rhc_server: {}

Die Details des Registrierungsservers, mit dem verbunden werden soll; es kann folgende optionale Schlüssel enthalten:

rhc_server:
  hostname: "hostname"
  port: 443
  prefix: "server-prefix"
  insecure: false
  • hostname ist der Hostname des Servers
  • port ist der Port, zu dem man sich auf dem Server verbindet
  • prefix ist das Präfix (beginnend mit /) für die API-Aufrufe an den Server
  • insecure gibt an, ob die Validierung des SSL-Zertifikats des Servers deaktiviert werden soll
    rhc_baseurl: ""

Die Basis-URL für das Abrufen von Inhalten vom Abonnement-Server.

    rhc_repositories: []

Eine Liste von Repositories, die im System aktiviert oder deaktiviert werden sollen. Jedes Element ist ein Wörterbuch, das zwei Schlüssel enthält:

  • name ist der Name eines Repositories; dieser Schlüssel ist obligatorisch
  • state ist der Status dieses Repositories im System und kann enabled oder disabled sein; dieser Schlüssel ist optional und wird auf enabled gesetzt, wenn nicht angegeben
rhc_repositories:
  - {name: "repository-1", state: enabled}
  - {name: "repository-2", state: disabled}
    rhc_release: "release"

Eine Version, die für das System festgelegt wird. Wird normalerweise verwendet, um ein RHEL-System auf einer bestimmten Minor-Version von RHEL zu sperren.

Verwenden Sie {"state":"absent"} (und nicht ""), um die festgelegte Version für das System tatsächlich zu entfernen.

    rhc_insights:
      state: present

Ob das System mit Insights verbunden ist; gültige Werte sind present (der Standardwert, um die Verbindung sicherzustellen) und absent.

    rhc_insights:
      autoupdate: true

Ob das System die dynamische Konfiguration automatisch aktualisiert. Dies ist standardmäßig aktiviert.

    rhc_insights:
      ansible_host: "beispiel-host"

Konfiguriert den Ansible-Hostnamen mit einem benutzerdefinierten Wert für den Systemdatensatz im Host Based Inventory (HBI). Dieser Hostname wird in Playbooks von Remediations verwendet. Er ist standardmäßig null und verwendet den System-Hostnamen, wenn nicht angegeben.

Mögliche Werte dieser Variable:

  • null oder eine leere Zeichenfolge: Der Ansible-Hostnamen wird nicht geändert.
  • {state: absent}: Der Ansible-Hostnamen wird in der Konfigurationsdatei des Insights-Clients unset, und das Host Based Inventory (HBI) wird aktualisiert, um den System-Hostnamen zu verwenden.
  • Jeder andere Zeichenwert: Der Ansible-Hostnamen wird im Host Based Inventory (HBI) geändert.
    rhc_insights:
      display_name: "Beispiel Host"

Konfiguriert den Anzeigenamen mit einem benutzerdefinierten Wert für den Systemdatensatz im Host Based Inventory (HBI). Dieser Anzeigename wird nur verwendet, um den Host im Inventar zu identifizieren. Er ist standardmäßig null und verwendet den System-Hostnamen, wenn nicht angegeben.

Mögliche Werte dieser Variable:

  • null oder eine leere Zeichenfolge: Der Anzeigename wird nicht geändert
  • Jeder andere Zeichenwert: Der Anzeigename wird im Host Based Inventory (HBI) geändert.

Hinweis: Wenn bei der Registrierung nicht explizit festgelegt, wird der Anzeigename standardmäßig auf den Hostnamen gesetzt. Es ist nicht möglich, ihn automatisch auf den Hostnamen zurückzusetzen, aber manuell kann er gesetzt werden.

    rhc_insights:
      remediation: present

Ob das System so konfiguriert ist, dass die Insights-Remediation ausgeführt wird; gültige Werte sind present (der Standardwert, um die Remediation sicherzustellen) und absent.

Bitte beachten Sie, dass die Insights-Remediation nur auf RHEL 8.4 oder höher unterstützt wird, da die benötigten Pakete nur ab dieser Version verfügbar sind; in älteren Versionen hat dieser Parameter keine Wirkung.

    rhc_insights:
      tags: {}

Ein Wörterbuch von Tags, das dem Systemdatensatz im Host Based Inventory (HBI) hinzugefügt wird; wird typischerweise zur Gruppierung und Tagging von Systemen sowie zur Suche nach Systemen im Inventar verwendet.

Mögliche Werte dieser Variablen:

  • null oder ein leerer Wert (z. B.: {}): Der Inhalt der Tag-Datei wird nicht geändert
  • {state: absent}: Alle Tags werden entfernt (durch Entfernen der Tag-Datei)
  • Jeder andere Wert: Die Datei wird mit den angegebenen Tags erstellt

Da die Tags beliebige Werte für das Tagging von Systemen sind, gibt es kein festgelegtes Format. In dem angegebenen Wörterbuch sind die Schlüssel Strings, und der Typ der Werte kann beliebiger Datentyp sein (Strings, Zahlen, Listen, Wörterbücher usw.).

Beispiel für die in der insights-client Dokumentation konfigurierten Tags:

rhc_insights:
  tags:
    group: _gruppen-name-wert_
    location: _standort-name-wert_
    description:
      - RHEL8
      - SAP
    key 4: value
    rhc_proxy: {}

Die Details des Proxy-Servers, der für die Verbindung verwendet werden soll:

rhc_proxy:
  hostname: "proxy-hostname"
  scheme: http
  port: 4321
  username: "proxy-benutzername"
  password: "proxy-passwort"
  • hostname ist der Hostname des Proxy-Servers
  • scheme ist das Schema, das für den Proxy-Server verwendet werden soll, normalerweise "http" oder "https", standardmäßig "http"
  • port ist der Port, zu dem man sich auf dem Proxy-Server verbindet
  • username ist der Benutzername, der zur Authentifizierung am Proxy-Server verwendet werden soll; dies kann nicht angegeben werden, wenn der Proxy-Server keine Authentifizierung benötigt
  • password ist das Passwort, das zur Authentifizierung am Proxy-Server verwendet werden soll; dies kann nicht angegeben werden, wenn der Proxy-Server keine Authentifizierung benötigt

Verwenden Sie {"state":"absent"}, um alle Proxy-Konfigurationen auf leer zurückzusetzen (was den Proxy-Server effektiv deaktiviert).

Hinweis: Die Variablen, die zur Authentifizierung am Proxy-Server verwendet werden, gelten als Geheimnisse und sollten daher gesichert werden. Wir empfehlen die Verwendung von Ansible Vault als Quelle dafür.

    rhc_environments: []

Die Liste der Umgebungen, bei denen sich das System beim Verbinden registrieren soll.

Hinweis:

  • Dies funktioniert nur, wenn das System aus einem unverbundenen Zustand verbunden wird -- es kann die Umgebungen bereits verbundener Systeme nicht ändern
  • Dies erfordert, dass die Umgebungen auf dem Registrierungsserver aktiviert sind; in Red Hat Satellite oder Katello wird diese Funktion "Content Views" genannt

Beispiel-Playbooks

Stellen Sie die Verbindung zu Red Hat sicher, einschließlich Insights, unter Verwendung der Authentifizierung mit Benutzername & Passwort:

- name: Systeme registrieren
  hosts: all
  vars:
    rhc_auth:
      login:
        username: "dein-benutzername"
        password: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          ....
  roles:
    - linux-system-roles.rhc

Stellen Sie sicher, dass bestimmte RHEL 9-Repositories aktiviert sind und ein anderes nicht:

- name: Sicherstellen, dass RHEL 9-Repositories aktiviert sind
  hosts: all
  vars:
    rhc_repositories:
      - {name: "rhel-9-for-x86_64-baseos-rpms", state: enabled}
      - {name: "rhel-9-for-x86_64-appstream-rpms", state: enabled}
      - {name: "codeready-builder-for-rhel-9-x86_64-rpms", state: disabled}
  roles:
    - linux-system-roles.rhc

Stellen Sie sicher, dass ein RHEL 8-System auf RHEL 8.6 gesperrt ist:

- name: Sicherstellen, dass Systeme auf RHEL 8.6 gesperrt sind
  hosts: all
  vars:
    rhc_release: 8.6
  roles:
    - linux-system-roles.rhc

Stellen Sie sicher, dass ein System mit Insights verbunden ist, ohne optionale Funktionen wie automatische Updates und Remediation:

- name: Sicherstellen, dass Systeme mit Insights verbunden sind
  hosts: all
  vars:
    rhc_insights:
      autoupdate: false
      remediation: absent
  roles:
    - linux-system-roles.rhc

Lizenz

MIT

Über das Projekt

Configure connectivity of systems to Red Hat

Installieren
ansible-galaxy install linux-system-roles.rhc
Lizenz
mit
Downloads
5k