linux-system-roles.cockpit

Cockpit

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

Installe et configure la console web Cockpit pour les distributions qui le supportent, telles que RHEL, CentOS, Fedora, Debian et Ubuntu.

Exigences

RHEL/CentOS 7.x nécessite que le dépôt Extras soit activé.

Exigences de la collection

Le rôle nécessite le rôle firewall et le rôle selinux de la collection fedora.linux_system_roles, si cockpit_manage_firewall et cockpit_manage_selinux sont définis sur true, respectivement. Veuillez consulter aussi cockpit_manage_firewall et cockpit_manage_selinux dans Variables de Rôle.

Si cockpit est un rôle de la collection fedora.linux_system_roles ou du package RPM Fedora, la exigence est déjà satisfaite.

Si vous souhaitez gérer des systèmes rpm-ostree avec ce rôle, vous devrez installer des collections supplémentaires. Veuillez exécuter la commande suivante pour installer la collection.

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

Variables de Rôle

Les variables disponibles par distribution sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml):

cockpit_packages

La variable principale est cockpit_packages, qui vous permet de spécifier votre propre sélection de packages cockpit que vous souhaitez installer, ou de choisir l'un des trois ensembles de packages prédéfinis : default, minimal, ou full. Évidemment, default est sélectionné si vous ne définissez pas cette variable. Notez que les packages installés peuvent varier en fonction de la distribution et de la version, car différentes fonctionnalités de Cockpit ont été fournies au fil du temps. Certains peuvent ne pas être disponibles sur toutes les distributions, comme cockpit-docker, qui a été remplacé sur RHEL en faveur de cockpit-podman.

Exemple de packages cockpit explicites à installer. Les dépendances devraient tirer les packages cockpit minimaux afin qu'ils fonctionnent.

cockpit_packages:
  - cockpit-storaged
  - cockpit-podman

Exemple d'utilisation des ensembles de packages prédéfinis. C'est la méthode recommandée pour l'installation.

cockpit_packages: default
    # équivalent à
    #  - cockpit
    #  - cockpit-networkmanager
    #  - cockpit-packagekit
    #  - cockpit-selinux
    #  - cockpit-storaged

cockpit_packages: minimal
    # équivalent à
    #  - cockpit-system
    #  - cockpit-ws

cockpit_packages: full
    # équivalent à tous les packages
    #  - cockpit-*
    # Cela tirera de nombreux packages tels que
        #  - cockpit    ## Liste par défaut
        #  - cockpit-bridge
        #  - cockpit-networkmanager
        #  - cockpit-packagekit
        #  - cockpit-selinux
        #  - cockpit-storaged
        #  - cockpit-system
        #  - cockpit-ws
        ## et tous les autres
        #  - 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

Variable booléenne pour contrôler si Cockpit est activé pour démarrer automatiquement au démarrage (par défaut true).

cockpit_started

cockpit_started: true

Variable booléenne pour contrôler si Cockpit doit être démarré/en cours d'exécution (par défaut true).

cockpit_config

cockpit_config:                               #Configurer /etc/cockpit/cockpit.conf
  WebService:                                 #Spécifier la section de configuration "WebService"
    LoginTitle: "titre de page de connexion personnalisé"  #Définir "LoginTitle" dans la section "WebService"
    MaxStartups: 20                           #Définir "MaxStartups" dans la section "WebService"
  Session:                                    #Spécifier la section de configuration "Session"
    IdleTimeout: 15                           #Définir "IdleTimeout" dans la section "Session"
    Banner: "/etc/motd"                       #Définir "Banner" dans la section "Session"

Configurer les paramètres dans le fichier /etc/cockpit/cockpit.conf. Voir man cockpit.conf pour une liste des paramètres disponibles. Les paramètres précédents seront perdus, même s'ils ne sont pas spécifiés dans la variable de rôle (aucune tentative n'est faite pour préserver ou fusionner les paramètres précédents, le fichier de configuration est entièrement remplacé).

cockpit_port

cockpit_port: 9090

Cockpit fonctionne par défaut sur le port 9090. Vous pouvez changer le port avec cette option.

cockpit_manage_firewall

cockpit_manage_firewall: false

Variable booléenne pour contrôler le service de pare-feu cockpit avec le rôle firewall. Si la variable est définie sur false, le rôle cockpit ne gère pas le pare-feu. Par défaut à false.

REMARQUE : cockpit_manage_firewall est limité à ajouter des ports. Il ne peut pas être utilisé pour supprimer des ports. Si vous souhaitez supprimer des ports, vous devrez utiliser le rôle système de pare-feu directement.

REMARQUE : Cette fonctionnalité n'est prise en charge que lorsque le os_family de l'hôte géré est RedHat.

cockpit_manage_selinux

cockpit_manage_selinux: false

Drapeau booléen permettant de configurer selinux en utilisant le rôle selinux. La politique SELinux par défaut ne permet pas à Cockpit d'écouter quoi que ce soit d'autre que le port 9090. Si vous changez le port, activez ceci pour utiliser le rôle selinux afin de définir les bonnes permissions de port (websm_port_t). Si la variable est définie sur false, le rôle cockpit ne gère pas les permissions SELinux du port de cockpit.

REMARQUE : cockpit_manage_selinux est limité à ajouter une politique. Il ne peut pas être utilisé pour supprimer une politique. Si vous souhaitez supprimer une politique, vous devrez utiliser le rôle système selinux directement.

REMARQUE : Cette fonctionnalité est prise en charge uniquement lorsque le os_family de l'hôte géré est RedHat.

Voir aussi le guide Cockpit pour plus de détails.

cockpit_transactional_update_reboot_ok

cockpit_transactional_update_reboot_ok: true

Cette variable est utilisée pour gérer les redémarrages requis par les mises à jour transactionnelles. Si une mise à jour transactionnelle nécessite un redémarrage, le rôle procédera au redémarrage si cockpit_transactional_update_reboot_ok est défini sur true. Si défini sur false, le rôle informera l'utilisateur qu'un redémarrage est nécessaire, permettant ainsi un traitement personnalisé de l'exigence de redémarrage. Si cette variable n'est pas définie, le rôle échouera pour s'assurer que l'exigence de redémarrage n'est pas négligée.

Configuration du certificat

Par défaut, Cockpit crée un certificat auto-signé pour lui-même lors du premier démarrage. Cela devrait être personnalisé pour les environnements qui utilisent de vrais certificats.

Utiliser un certificat existant

Si votre serveur a déjà un certificat que vous souhaitez également utiliser avec Cockpit, pointez les options de rôle cockpit_cert et cockpit_private_key vers celui-ci :

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

Cela créera des symlinks /etc/cockpit/ws-certs.d/50-system-role.{crt,key}.

Notez que cette fonctionnalité nécessite au moins la version 257 de Cockpit, c'est-à-dire RHEL ≥ 8.6 ou ≥ 9.0, ou Fedora ≥ 34.

Générer un nouveau certificat

Pour générer un nouveau certificat pour Cockpit, il est recommandé de définir la variable cockpit_certificates. La valeur de cockpit_certificates est transmise à la variable certificate_requests du rôle certificate appelé en interne dans le rôle cockpit, qui génère la clé privée et le certificat. Pour les paramètres supportés de cockpit_certificates, voir la section de documentation du rôle certificate_requests.

Lorsque vous définissez cockpit_certificates, vous ne devez pas définir les variables cockpit_private_key et cockpit_cert car elles seront ignorées.

Cet exemple installe Cockpit avec un certificat de serveur web émis par IdM en supposant que vos machines sont jointes à un domaine FreeIPA.

    - name: Installer cockpit avec un certificat de serveur web Cockpit
      include_role:
        name: linux-system-roles.cockpit
      vars:
        cockpit_certificates:
          - name: monger-cockpit
            dns: ['localhost', 'www.example.com']
            ca: ipa
            group: cockpit-ws

Note : Générer un nouveau certificat en utilisant le rôle système certificate dans le playbook reste supporté.

Cet exemple installe également Cockpit avec un certificat de serveur web émis par IdM.

    # Cette étape est seulement nécessaire pour Cockpit version < 255 ; en particulier sur RHEL/CentOS 8
    - name: Autoriser certmonger à écrire dans le répertoire de certificats de Cockpit
      file:
        path: /etc/cockpit/ws-certs.d/
        state: directory
        setype: cert_t

    - name: Générer le certificat de serveur web Cockpit
      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  # ou cockpit-wsinstance sur les nouvelles versions de Cockpit

REMARQUE : Le rôle certificate, sauf en utilisant IPA et en rejoignant les systèmes à un domaine IPA, crée des certificats auto-signés, vous devrez donc configurer explicitement la confiance, ce qui n'est pas actuellement pris en charge par les rôles systèmes. Pour utiliser ca: self-sign ou ca: local, selon votre utilisation de certmonger, voyez la documentation de linux-system-roles.certificate pour plus de détails.

REMARQUE : La création d'un certificat auto-signé n'est pas supportée sur RHEL/CentOS-7.

Exemples de Playbooks

L'exemple le plus simple.

---
- name: Gérer cockpit
  hosts: fedora, rhel7, rhel8
  become: true
  roles:
    - linux-system-roles.cockpit

Un autre exemple, incluant le rôle comme une tâche pour contrôler quand l'action est effectuée. Il est également recommandé de configurer le pare-feu en utilisant le rôle fedora.linux_system_roles.firewall pour rendre le service accessible.

---
tasks:
  - name: Installer la console web RHEL/Fedora (Cockpit)
    include_role:
      name: linux-system-roles.cockpit
    vars:
      cockpit_packages: default
      #cockpit_packages: minimal
      #cockpit_packages: full

  - name: Configurer le pare-feu pour la console web
    include_role:
      name: fedora.linux_system_roles.firewall
    vars:
      firewall:
        service: cockpit
        state: enabled

rpm-ostree

Voir README-ostree.md

Licence

GPLv3

À propos du projet

Install and enable the Cockpit Web Console

Installer
ansible-galaxy install linux-system-roles.cockpit
Licence
gpl-3.0
Téléchargements
170k
Propriétaire