Ansible : Collections
Principe des Collections
Une collection est un format de distribution de données pour Ansible. Elle peut contenir des playbooks, des rôles, des modules, des plugins... Les modules d'Ansible sont en cours de migration dans des collections.
Utilisation
Installer une collection
Le principe est le même que pour un rôle :
<source> ansible-galaxy collection install community.vmware
- Ou depuis un tarball
ansible-galaxy collection install my_namespace-my_collection-1.0.0.tar.gz -p ./collections
- Depuis git
ansible-galaxy collection install git+https://github.com/organization/repo_name.git,devel
- Ce qui donne
Process install dependency map Starting collection install process Installing 'community.vmware:1.2.0' to '/home/adm-pelletreau/.ansible/collections/ansible_collections/community/vmware' </source>
Contenu d'une collection
La structure de base est la suivante :
<source> collection/ ├── docs/ ├── galaxy.yml ├── meta/ │ └── runtime.yml ├── plugins/ │ ├── modules/ │ │ └── module1.py │ ├── inventory/ │ └── .../ ├── README.md ├── roles/ │ ├── role1/ │ ├── role2/ │ └── .../ ├── playbooks/ │ ├── files/ │ ├── vars/ │ ├── templates/ │ └── tasks/ └── tests/ </source>
On peut aussi inclure une collection à côté d'un playbook comme on le fait avec les rôles:
<source> ├── play.yml ├── collections/ │ └── ansible_collections/ │ └── my_namespace/ │ └── my_collection/<collection structure lives here> </source>
Utilisation dans un playbook
TODO