gliech.incus_client
Incus Client Ansible Rolle
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
Name | Erforderlich | Typ / Optionen | Beschreibung |
---|---|---|---|
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: |
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 Standard: |
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: |
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
Install Incus and configure one or more other hosts from the Ansible inventory as remotes.
ansible-galaxy install gliech.incus_client