ansible-libretic-aap/README.md

55 lines
2.1 KiB
Markdown
Raw Normal View History

2024-08-04 19:25:21 +02:00
# AAP - Ansible Automation Platform
Installe un environnement ansible et AWX sur la base de k3s.
Inspiration :
- https://ansible.readthedocs.io/projects/awx-operator/en/latest/index.html
- https://github.com/kurokobo/awx-on-k3s/tree/main
## Prérequis
* [Environnement de développement préparé](https://wiki.libretic.fr/fr/technique/ansible/environnement_developpement)
* Installer les roles et collections nécessaires :
```bash
ansible-galaxy role install -f -r roles/requirements.yml -p roles/
ansible-galaxy collection install -f -r collections/requirements.yml -p collections/
```
## Composition d'un environnement
Un environnement est composé d'une machine ansible et d'une machine awx.
La machine ansible est utilisée :
- pour le développement des projets ansible jusqu'à leur mise en production dans AWX
- pour la mise à disposition auprès des playbooks ansible (de la machine ansible ou awx) des ressources internes nécessaires à la bonne exécution des playbooks et qui ne doivent pas être inclus dans les projets git, par exemple :
- les binaires
- les certificats (renouvelables indépendamment des versions de projet)
La machine awx est utilisée pour l'exécution des playbooks de production et leur orchestration.
### Création / configuration d'un environnement
* Création préalable des machines virtuelles mentionnées dans l'inventaire
* Poursuivre avec la configuration de l'environnement
```bash
ansible-playbook -i <environnement> setup-env.yml
```
## Préparation de l'instance AWX
Le playbook configure-awx.yml permet de configurer dans AWX les bases de configuration nécessaires pour la bonne mise en service des autres projets qui y seront configurés.
Les paramétrages par défaut des droits implantés l'instance awx sont définis dans vars/awx.yml.
L'instance awx à configurer et la version de l'environnement d'exécution awx qui y sera configuré sont définies par environnement, dans inventory/<environnement>/group_vars/awx.yml.
Pour finir la configuration de l'instance awx, lancer le playbook :
```bash
ansible-playbook -i <environnement> configure-awx.yml
```