Ansible Tower / AWX 24 min de lecture

Workflows et RBAC dans AWX

Workflow Templates

Les Workflows permettent d'enchainer des Job Templates avec une logique conditionnelle :

  • Succes : executer le noeud suivant si le precedent reussit
  • Echec : executer un noeud alternatif en cas d'erreur
  • Toujours : executer dans tous les cas

Exemple de Workflow

# Workflow de deploiement complet :
#
# [Backup DB] --succes--> [Deploy App] --succes--> [Tests Smoke]
#                                |                       |
#                              echec                   echec
#                                |                       |
#                                v                       v
#                         [Notification]           [Rollback]
#                                                       |
#                                                     succes
#                                                       |
#                                                       v
#                                                 [Notification]

RBAC (Role-Based Access Control)

AWX offre un systeme de permissions granulaire :

  • Admin : Acces total a l'organisation
  • Execute : Peut lancer des job templates
  • Read : Peut consulter sans modifier
  • Use : Peut utiliser une ressource dans d'autres contextes

Configuration des equipes et permissions

# Via l'API AWX : creer une equipe
curl -X POST -u admin:password \
  -H "Content-Type: application/json" \
  -d '{"name": "DevOps Team", "organization": 1}' \
  https://awx.example.com/api/v2/teams/

# Assigner des permissions
curl -X POST -u admin:password \
  -H "Content-Type: application/json" \
  -d '{"id": 42, "disassociate": false}' \
  https://awx.example.com/api/v2/teams/5/roles/

Notifications

AWX peut notifier via :

  • Email
  • Slack
  • Webhook (pour integration CI/CD)
  • PagerDuty
  • Microsoft Teams

Planification (Schedules)

# Planifier un job template toutes les nuits a 2h
# Via l'interface web :
# Job Template > Schedules > Add Schedule
# Frequency: Daily, Time: 02:00
Best practice : Utilisez les Workflows pour les deploiements complexes avec des etapes de validation et de rollback automatiques.