# 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 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//group_vars/awx.yml. Pour finir la configuration de l'instance awx, lancer le playbook : ```bash ansible-playbook -i configure-awx.yml ```