linux-system-roles.rhc

rhc

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

rhc

Rola Ansible, która łączy systemy RHEL z Red Hat.

Wymagania

Rola wymaga subscription-manager, dostępnego w standardowych repozytoriach RHEL, a zazwyczaj zainstalowanego domyślnie na RHEL. W innych dystrybucjach zostanie zainstalowany, jeśli nie jest już dostępny.

Rola wymaga również insights-client, dostępnego w standardowych repozytoriach RHEL, w przypadku gdy wsparcie Insights jest włączone (a jest domyślnie).

Dodatkowo, rola wymaga rhc, również dostępnego z standardowych repozytoriów RHEL, w przypadku gdy naprawa Insights jest włączona (a jest to domyślnie).

Wymagania dotyczące kolekcji

Rola wymaga modułów z zewnętrznych kolekcji. Użyj poniższego polecenia, aby je zainstalować:

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

Zmienne roli

    rhc_state: present

Określa, czy system jest połączony z Red Hat; wartości dopuszczalne to present (domyślnie, aby zapewnić połączenie), absent i reconnect.

Przy użyciu reconnect, system najpierw zostanie odłączony, jeśli był już połączony; z tego powodu rola zawsze zgłosi status "zmieniony".

    rhc_organization: "twoja-organizacja"

Organizacja użytkownika. To musisz być określone podczas łączenia, jeśli:

  • użytkownik należy do więcej niż jednej organizacji
  • używa kluczy aktywacyjnych (patrz rhc_auth poniżej)
    rhc_auth: {}

Metoda uwierzytelniania używana do połączenia systemu. Musi być określona w przypadku, gdy system może potrzebować połączenia (np. jeśli nie był wcześniej połączony). Jest kilka możliwych metod uwierzytelniania; można określić tylko jedną w danym czasie.

NB: zmienne używane do uwierzytelniania są uważane za sekrety i dlatego powinny być zabezpieczone. Zalecamy użycie Ansible Vault jako źródła dla nich. Poniższe odniesienia opisują jedynie, które klucze istnieją i do czego służą.

Aby uwierzytelnić się przy użyciu nazwy użytkownika i hasła, określ słownik login używając poniższych obowiązkowych kluczy:

rhc_auth:
  login:
    username: "twoja-nazwa-użytkownika"
    password: "twoje-hasło"

Użyj rhc_organization, jeśli to konieczne.

Aby uwierzytelnić się przy użyciu kluczy aktywacyjnych, określ słownik activation_keys, używając poniższych obowiązkowych kluczy, razem z rhc_organization:

rhc_auth:
  activation_keys:
    keys: ["klucz-1", ...]
rhc_organization: "twoja-organizacja"
    rhc_server: {}

Szczegóły serwera rejestracji, do którego należy się połączyć; może zawierać następujące klucze opcjonalne:

rhc_server:
  hostname: "nazwa-serwera"
  port: 443
  prefix: "prefiks-serwera"
  insecure: false
  • hostname to nazwa hosta serwera
  • port to port, do którego należy się połączyć na serwerze
  • prefix to prefiks (zaczynający się od /) dla wywołań API do serwera
  • insecure określa, czy wyłączyć weryfikację certyfikatu SSL serwera
    rhc_baseurl: ""

Podstawowy adres URL, aby otrzymywać zawartość z serwera subskrypcyjnego.

    rhc_repositories: []

Lista repozytoriów do aktywowania lub dezaktywowania w systemie. Każdy element to słownik zawierający dwa klucze:

  • name to nazwa repozytorium; ten klucz jest obowiązkowy
  • state to stan tego repozytorium w systemie, może być enabled lub disabled; ten klucz jest opcjonalny, a jego domyślną wartością jest enabled
rhc_repositories:
  - {name: "repozytorium-1", state: enabled}
  - {name: "repozytorium-2", state: disabled}
    rhc_release: "wydanie"

Wydanie, które ma być ustawione dla systemu. Typowo używane, aby zablokować system RHEL na określonej wersji RHEL.

Użyj {"state":"absent"} (a nie ""), aby faktycznie usunąć ustalone wydanie dla systemu.

    rhc_insights:
      state: present

Określa, czy system jest połączony z Insights; wartości dopuszczalne to present (domyślnie, aby zapewnić połączenie) i absent.

    rhc_insights:
      autoupdate: true

Określa, czy system automatycznie aktualizuje dynamiczną konfigurację. Jest domyślnie włączone.

    rhc_insights:
      ansible_host: "przykład-host"

Konfiguruje nazwę hosta ansible z własną wartością dla rekordu systemu w Host Based Inventory (HBI). Ta nazwa hosta jest używana w playbookach przez naprawy. Domyślnie to null, a jeśli nie jest określona, używa nazwy hosta systemu.

Możliwe wartości tej zmiennej:

  • null lub pusty ciąg: nazwa hosta ansible nie jest zmieniana.
  • {state: absent}: nazwa hosta ansible jest usuwana w pliku konfiguracyjnym insights-client, a Host Based Inventory (HBI) jest aktualizowane, aby używać nazwy hosta systemu.
  • każda inna wartość ciągu: nazwa hosta ansible jest zmieniana w Host Based Inventory (HBI).
    rhc_insights:
      display_name: "Przykładowy Host"

Konfiguruje nazwę wyświetlaną z własną wartością dla rekordu systemu w Host Based Inventory (HBI). Ta nazwa wyświetlana służy tylko do identyfikacji hosta w inwentarzu. Domyślnie to null, a jeśli nie jest określona, używa nazwy hosta systemu.

Możliwe wartości tej zmiennej:

  • null lub pusty ciąg: nazwa wyświetlana nie jest zmieniana
  • każda inna wartość ciągu: nazwa wyświetlana jest zmieniana w Host Based Inventory (HBI).

Uwaga: Jeśli nie zostanie jawnie ustawiona podczas rejestracji, nazwa wyświetlana jest ustawiana na nazwę hosta domyślnie. Nie można automatycznie cofnąć jej do nazwy hosta, ale można ją ustawić ręcznie.

    rhc_insights:
      remediation: present

Określa, czy system jest skonfigurowany do przeprowadzenia naprawy Insights; wartości dopuszczalne to present (domyślnie, aby zapewnić naprawę) i absent.

Należy pamiętać, że naprawa Insights jest obsługiwana tylko na RHEL 8.4 lub nowszym, ponieważ wymagane pakiety są dostępne tylko od tej wersji; w starszych wersjach ten parametr nie ma wpływu.

    rhc_insights:
      tags: {}

Słownik tagów, który jest dodawany do rekordu systemu w Host Based Inventory (HBI); typowo używany do grupowania i tagowania systemów oraz do wyszukiwania systemów w inwentarzu.

Możliwe wartości tej zmiennej:

  • null lub pusty ciąg (np.: {}): zawartość pliku tagów nie jest zmieniana
  • {state: absent}: wszystkie tagi są usuwane (poprzez usunięcie pliku tagów)
  • każda inna wartość: plik jest tworzony z określonymi tagami

Ponieważ tagi są dowolnymi wartościami do tagowania systemów, nie ma ustalonego formatu. W określonym słowniku klucze są ciągami, a typ wartości może być dowolnym typem danych (ciągi, liczby, listy, słowniki, itp.).

Przykład tagów skonfigurowanych w dokumentacji insights-client dokumentacji:

rhc_insights:
  tags:
    group: _nazwa-grupy-wartości_
    location: _nazwa-lokalizacji-wartości_
    description:
      - RHEL8
      - SAP
    klucz 4: wartość
    rhc_proxy: {}

Szczegóły serwera proxy do użycia przy łączeniu:

rhc_proxy:
  hostname: "nazwa-proxy"
  scheme: http
  port: 4321
  username: "twoja-nazwa-użytkownika"
  password: "twoje-hasło"
  • hostname to nazwa hosta serwera proxy
  • scheme to schemat do użycia dla serwera proxy, zazwyczaj "http" lub "https", domyślnie "http"
  • port to port, do którego należy się połączyć na serwerze proxy
  • username to nazwa użytkownika do uwierzytelnienia na serwerze proxy; może nie być określona, jeśli serwer proxy nie wymaga uwierzytelniania
  • password to hasło do uwierzytelnienia na serwerze proxy; może nie być określone, jeśli serwer proxy nie wymaga uwierzytelnienia

Użyj {"state":"absent"}, aby zresetować wszystkie konfiguracje proxy na puste (efektywnie dezaktywując serwer proxy).

NB: zmienne używane do uwierzytelnienia na serwerze proxy są uważane za sekrety i dlatego powinny być zabezpieczone. Zalecamy użycie Ansible Vault jako źródła dla nich.

    rhc_environments: []

Lista środowisk, do których należy się zarejestrować podczas łączenia systemu.

NB:

  • to działa tylko wtedy, gdy system jest łączony z niepołączonego stanu -- nie może zmienić środowisk już połączonych systemów
  • to wymaga, aby środowiska były włączone na serwerze rejestracyjnym; w Red Hat Satellite lub Katello to funkcja nazywana "Content Views"

Przykładowe playbooki

Zapewnij połączenie z Red Hat, w tym Insights, uwierzytelniając się przy użyciu nazwy użytkownika i hasła:

- name: Rejestracja systemów
  hosts: all
  vars:
    rhc_auth:
      login:
        username: "twoja-nazwa-użytkownika"
        password: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          ....
  roles:
    - linux-system-roles.rhc

Zapewnij, że określone repozytoria RHEL 9 są włączone, a inne nie:

- name: Zapewnij, że repozytoria RHEL 9  włączone
  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

Zapewnij, że system RHEL 8 jest zablokowany na RHEL 8.6:

- name: Zapewnij, że systemy  zablokowane na RHEL 8.6
  hosts: all
  vars:
    rhc_release: 8.6
  roles:
    - linux-system-roles.rhc

Zapewnij, że system jest połączony z Insights, bez opcji takich jak automatyczne aktualizacje i naprawy:

- name: Zapewnij, że systemy  połączone z Insights
  hosts: all
  vars:
    rhc_insights:
      autoupdate: false
      remediation: absent
  roles:
    - linux-system-roles.rhc

Licencja

MIT

O projekcie

Configure connectivity of systems to Red Hat

Zainstaluj
ansible-galaxy install linux-system-roles.rhc
Licencja
mit
Pobrania
5k
Właściciel