gliech.incus_client
Rôle Ansible Client Incus
Ce rôle Ansible installe Incus et configure un ou plusieurs autres hôtes à partir de l'inventaire Ansible en tant que distants.
Exigences
Ce rôle nécessite que les distants Incus soient définis dans le même inventaire que les clients qui sont configurés. Cela est nécessaire car il utilise les connexions Ansible avec les serveurs comme canal de confiance pour transférer les certificats des clients vers les distants.
Cela signifie également que, si les serveurs Incus sont provisionnés dans le même playbook que les clients, l'installation des serveurs est une étape préalable pour que ce rôle puisse être exécuté.
Variables du Rôle
Nom | Requis | Type / Choix | Description |
---|---|---|---|
incus_client_remotes |
oui | liste(string) |
Liste des noms d'hôtes dans l'inventaire Ansible des machines qui doivent être configurées en tant que distants Incus. L'utilisateur Ansible sur ces machines doit être membre du groupe incus afin de pouvoir configurer les certificats clients sur le serveur. Exemple : |
incus_client_default_remote |
non | string |
Nom d'un distant Incus qui sera configuré comme distant par défaut dans la configuration du client Incus. Par défaut, il prend la première entrée de la variable Par défaut : |
incus_client_users |
non | liste(string) |
Liste des utilisateurs du système d'exploitation, sur les machines clientes qui doivent être configurés pour accéder aux distants Incus. Si aucune liste n'est fournie, seul l'utilisateur Ansible sera configuré pour atteindre les distants. Par défaut : |
Dépendances
Aucune.
Exemple de Playbook
- hosts: incus_servers
tasks:
- name: Configurer les serveurs Incus
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: Profil Incus par défaut
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: Projet Incus par défaut
name: default
- hosts: localhost
tasks:
- name: Configurer le client Incus
ansible.builtin.import_role:
name: gliech.incus_client
vars:
incus_client_remotes: "{{ groups.incus_servers }}"
Licence
Ce projet est sous licence selon les termes de la 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