gliech.incus_client

Rôle Ansible Client Incus

test & release

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

NomRequisType / ChoixDescription
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 : "{{ groups.incus_servers }}"

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 incus_client_remotes.

Par défaut : incus_client_remotes[0]

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 : ["{{ ansible_user_id }}"]

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

À propos du projet

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

Installer
ansible-galaxy install gliech.incus_client
Licence
gpl-3.0
Téléchargements
78.9k
Propriétaire