linux-system-roles.cockpit

Cockpit

Instaluje i konfiguruje konsolę internetową Cockpit dla dystrybucji, które ją wspierają, takich jak RHEL, CentOS, Fedora, Debian i Ubuntu.

Wymagania

RHEL/CentOS 7.x wymaga włączenia repozytorium Extras.

Wymagania dotyczące kolekcji

Rola wymaga roli firewall i roli selinux z kolekcji fedora.linux_system_roles, jeśli cockpit_manage_firewall oraz cockpit_manage_selinux są ustawione na true. Prosimy również zapoznać się z cockpit_manage_firewall i cockpit_manage_selinux w sekcji Zmienne roli.

Jeśli cockpit jest rolą z kolekcji fedora.linux_system_roles lub z pakietu RPM Fedory, wymaganie jest już spełnione.

Jeśli chcesz zarządzać systemami rpm-ostree za pomocą tej roli, będziesz musiał zainstalować dodatkowe kolekcje. Uruchom następujące polecenie, aby zainstalować kolekcję.

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

Zmienne roli

Dostępne zmienne dla poszczególnych dystrybucji są wymienione poniżej, wraz z wartościami domyślnymi (zobacz defaults/main.yml):

cockpit_packages

Główna zmienna to cockpit_packages, która pozwala określić własny wybór pakietów Cockpit do zainstalowania lub pozwala wybrać jeden z trzech wstępnie zdefiniowanych zestawów pakietów: default, minimal, or full. Domyślnie wybierany jest default, jeśli nie zdefiniujesz tej zmiennej. Pakiety instalowane mogą się różnić w zależności od dystrybucji i wersji, ponieważ różne pakiety funkcjonalności Cockpit były dostarczane na przestrzeni czasu. Niektóre mogą nie być dostępne we wszystkich dystrybucjach, takie jak cockpit-docker, który został wycofany w RHEL na rzecz cockpit-podman.

Przykład wybranych pakietów Cockpit do instalacji. Zależności powinny wciągnąć minimalne pakiety Cockpit, aby działały.

cockpit_packages:
  - cockpit-storaged
  - cockpit-podman

Przykład użycia wstępnie zdefiniowanych zestawów pakietów. To jest zalecana metoda instalacji.

cockpit_packages: default
    # równoważne z
    #  - cockpit
    #  - cockpit-networkmanager
    #  - cockpit-packagekit
    #  - cockpit-selinux
    #  - cockpit-storaged

cockpit_packages: minimal
    # równoważne z
    #  - cockpit-system
    #  - cockpit-ws

cockpit_packages: full
    # równoważne z pobieraniem wszystkich pakietów
    #  - cockpit-*
    # To wciągnie wiele pakietów, takich jak
        #  - cockpit    ## Domyślna lista
        #  - cockpit-bridge
        #  - cockpit-networkmanager
        #  - cockpit-packagekit
        #  - cockpit-selinux
        #  - cockpit-storaged
        #  - cockpit-system
        #  - cockpit-ws
        ## i wszystkie pozostałe
        #  - cockpit-389-ds
        #  - cockpit-composer
        #  - cockpit-dashboard
        #  - cockpit-doc
        #  - cockpit-kdump
        #  - cockpit-machines
        #  - cockpit-pcp
        #  - cockpit-podman
        #  - cockpit-session-recording
        #  - cockpit-sosreport

cockpit_enabled

cockpit_enabled: true

Zmienna logiczna, aby kontrolować, czy Cockpit ma być uruchamiany automatycznie przy starcie (domyślnie true).

cockpit_started

cockpit_started: true

Zmienna logiczna, aby kontrolować, czy Cockpit powinien być uruchomiony (domyślnie true).

cockpit_config

cockpit_config:
  WebService:
    LoginTitle: "niestandardowy tytuł ekranu logowania" 
    MaxStartups: 20                           
  Session:                                   
    IdleTimeout: 15                           
    Banner: "/etc/motd"                       

Konfiguruj ustawienia w pliku /etc/cockpit/cockpit.conf. Zobacz man cockpit.conf dla listy dostępnych ustawień. Wcześniejsze ustawienia zostaną utracone, nawet jeśli nie są określone w zmiennej roli (nie podejmuje się prób zachowania ani scalania poprzednich ustawień, plik konfiguracyjny jest całkowicie zastępowany).

cockpit_port

cockpit_port: 9090

Cockpit działa domyślnie na porcie 9090. Możesz zmienić port za pomocą tej opcji.

cockpit_manage_firewall

cockpit_manage_firewall: false

Zmienna logiczna do zarządzania usługą zapory cockpit z rolą firewall. Jeśli zmienna jest ustawiona na false, rola cockpit nie zarządza zaporą. Domyślnie false.

UWAGA: cockpit_manage_firewall jest ograniczone do dodawania portów. Nie można go używać do usuwania portów. Jeśli chcesz usunąć porty, musisz bezpośrednio użyć roli systemu zapory.

UWAGA: Ta funkcjonalność jest wspierana tylko, gdy os_family zarządzanego hosta to RedHat.

cockpit_manage_selinux

cockpit_manage_selinux: false

Flaga logiczna umożliwiająca skonfigurowanie SELinux za pomocą roli selinux. Domyślna polityka SELinux nie pozwala Cockpitowi słuchać niczego innego, niż port 9090. Jeśli zmienisz port, włącz to, aby użyć roli selinux, aby ustawić odpowiednie uprawnienia do portu (websm_port_t). Jeśli zmienna jest ustawiona na false, rola cockpit nie zarządza uprawnieniami SELinux portu Cockpit.

UWAGA: cockpit_manage_selinux jest ograniczone do dodawania polityki. Nie można go używać do usuwania polityki. Jeśli chcesz usunąć politykę, musisz bezpośrednio użyć roli systemu SELinux.

UWAGA: Ta funkcjonalność jest wspierana tylko, gdy os_family zarządzanego hosta to RedHat.

Zobacz także Przewodnik Cockpit dla szczegółów.

cockpit_transactional_update_reboot_ok

cockpit_transactional_update_reboot_ok: true

Ta zmienna jest używana do obsługi ponownych uruchomień wymaganych przez aktualizacje transakcyjne. Jeśli aktualizacja transakcyjna wymaga ponownego uruchomienia, rola przeprowadzi ponowne uruchomienie, jeśli cockpit_transactional_update_reboot_ok jest ustawione na true. Jeśli ustawione na false, rola powiadomi użytkownika, że ponowne uruchomienie jest wymagane, co pozwala na dostosowane zarządzanie tym wymaganiem. Jeśli ta zmienna nie jest ustawiona, rola nie zapewni, że wymaganie ponownego uruchomienia nie zostanie przeoczone.

Konfiguracja certyfikatów

Domyślnie Cockpit tworzy samopodpisany certyfikat dla siebie przy pierwszym uruchomieniu. To powinno zostać dostosowane dla środowisk, które używają rzeczywistych certyfikatów.

Użyj istniejącego certyfikatu

Jeśli twój serwer ma już jakiś certyfikat, który chcesz, aby także używał Cockpit, wskaź na opcje ról cockpit_cert i cockpit_private_key:

cockpit_cert: /path/to/server.crt
cockpit_private_key: /path/to/server.key

To utworzy symlinki /etc/cockpit/ws-certs.d/50-system-role.{crt,key}.

Należy zauważyć, że ta funkcjonalność wymaga co najmniej wersji Cockpit 257, czyli RHEL ≥ 8.6 lub ≥ 9.0, lub Fedora ≥ 34.

Wygeneruj nowy certyfikat

Aby wygenerować nowy certyfikat dla Cockpit, zaleca się ustawienie zmiennej cockpit_certificates. Wartość cockpit_certificates jest przekazywana do zmiennej certificate_requests roli certificate, która jest wywoływana wewnętrznie w roli cockpit i generuje prywatny klucz i certyfikat. Szczegóły dotyczące wspieranych parametrów cockpit_certificates znajdują się w sekcji dokumentacji roli certificate_requests.

Gdy ustalisz cockpit_certificates, nie musisz ustawiać zmiennych cockpit_private_key i cockpit_cert, ponieważ będą ignorowane.

Ten przykład instaluje Cockpit z certyfikatem serwera www wydanym przez IdM, zakładając, że twoje maszyny są dołączone do domeny FreeIPA.

    - name: Install cockpit with Cockpit web server certificate
      include_role:
        name: linux-system-roles.cockpit
      vars:
        cockpit_certificates:
          - name: monger-cockpit
            dns: ['localhost', 'www.example.com']
            ca: ipa
            group: cockpit-ws

Uwaga: Generowanie nowego certyfikatu za pomocą roli systemu certificate w playbooku pozostaje wspierane.

Ten przykład także instaluje Cockpit z certyfikatem serwera www wydanym przez IdM.

    # Ten krok jest konieczny tylko dla wersji Cockpit < 255; szczególnie w RHEL/CentOS 8
    - name: Allow certmonger to write into Cockpit's certificate directory
      file:
        path: /etc/cockpit/ws-certs.d/
        state: directory
        setype: cert_t

    - name: Generate Cockpit web server certificate
      include_role:
        name: fedora.linux_system_roles.certificate
      vars:
        certificate_requests:
          - name: /etc/cockpit/ws-certs.d/monger-cockpit
            dns: ['localhost', 'www.example.com']
            ca: ipa
            group: cockpit-ws  # lub cockpit-wsinstance w nowszych wersjach cockpit

UWAGA: Rola certificate, chyba że używa się IPA i dołącza systemy do domeny IPA, tworzy samopodpisane certyfikaty, więc będziesz musiał explicite skonfigurować zaufanie, co nie jest obecnie wspierane przez role systemowe. Aby użyć ca: self-sign lub ca: local, w zależności od użycia certmonger, zobacz dokumentację linux-system-roles.certificate dla szczegółów.

UWAGA: Tworzenie samopodpisanego certyfikatu nie jest wspierane w RHEL/CentOS-7.

Przykład Playbooków

Najprostszy przykład.

---
- name: Manage cockpit
  hosts: fedora, rhel7, rhel8
  become: true
  roles:
    - linux-system-roles.cockpit

Inny przykład, włączający rolę jako zadanie, aby kontrolować, kiedy wykonywana jest akcja. Zaleca się również skonfigurowanie zapory przy użyciu roli fedora.linux_system_roles.firewall, aby usługa była dostępna.

---
tasks:
  - name: Install RHEL/Fedora Web Console (Cockpit)
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: default
      #cockpit_packages: minimal
      #cockpit_packages: full

  - name: Configure Firewall for Web Console
    include_role:
      name: fedora.linux_system_roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled

rpm-ostree

Zobacz README-ostree.md

Licencja

GPLv3

O projekcie

Install and enable the Cockpit Web Console

Zainstaluj
ansible-galaxy install linux-system-roles.cockpit
Licencja
gpl-3.0
Pobrania
170k
Właściciel