gliech.incus_client

Incus Client Ansible Rolle

Test & Release

Diese Ansible-Rolle installiert Incus und konfiguriert einen oder mehrere andere Hosts aus dem Ansible Inventar als Remotes.

Voraussetzungen

Diese Rolle erfordert, dass die Incus-Remotes im gleichen Inventar wie die zu konfigurierenden Clients definiert sind. Das liegt daran, dass sie die Ansible-Verbindungen zu den Servern als vertrauenswürdigen Kanal verwendet, um die Client-Zertifikate der Benutzer zu den Remotes zu übertragen.

Das bedeutet auch, dass, wenn die Incus-Server im selben Playbook wie die Clients bereitgestellt werden, die Installation der Server ein vorhergehender Schritt ist, damit diese Rolle ausgeführt werden kann.

Rollen-Variablen

NameErforderlichTyp / OptionenBeschreibung
incus_client_remotes ja Liste (String)

Liste der Ansible-Inventar-Hostnamen der Maschinen, die als Incus-Remotes konfiguriert werden sollen. Der Ansible-Benutzer auf diesen Maschinen sollte Mitglied der Incus-Gruppe sein, damit er Client-Zertifikate auf dem Server konfigurieren kann.

Beispiel: "{{ groups.incus_servers }}"

incus_client_default_remote nein String

Name eines Incus-Remotes, der als Standard-Remote in der Incus-Client-Konfiguration konfiguriert wird. Standardmäßig ist dies der erste Eintrag in der Variable incus_client_remotes.

Standard: incus_client_remotes[0]

incus_client_users nein Liste (String)

Liste der OS-Benutzer auf den Client-Maschinen, die für den Zugriff auf die Incus-Remotes konfiguriert werden sollen. Wenn keine Liste angegeben ist, wird nur der Ansible-Benutzer eingerichtet, um die Remotes zu erreichen.

Standard: ["{{ ansible_user_id }}"]

Abhängigkeiten

Keine.

Beispiel-Playbook

- hosts: incus_servers
  tasks:
    - name: Incus-Server konfigurieren
      ansible.builtin.import_role:
        name: gliech.incus
      vars:
        incus_config:
          config: {}
          networks: []
          storage_pools:
            - config:
                source: /var/lib/incus/storage-pools/default
              description: ""
              name: default
              driver: dir
          profiles:
            - config:
                security.privileged: "true"
              description: Standard Incus-Profil
              devices:
                root:
                  path: /
                  pool: default
                  type: disk
              name: default
          projects:
            - config:
                features.images: "true"
                features.networks: "true"
                features.networks.zones: "true"
                features.profiles: "true"
                features.storage.buckets: "true"
                features.storage.volumes: "true"
              description: Standard Incus-Projekt
              name: default

- hosts: localhost
  tasks:
    - name: Incus-Client konfigurieren
      ansible.builtin.import_role:
        name: gliech.incus_client
      vars:
        incus_client_remotes: "{{ groups.incus_servers }}"

Lizenz

Dieses Projekt steht unter den Bedingungen der GNU General Public License v3.0

Über das Projekt

Install Incus and configure one or more other hosts from the Ansible inventory as remotes.

Installieren
ansible-galaxy install gliech.incus_client
GitHub Repository
Lizenz
gpl-3.0
Downloads
78.9k
Besitzer