> ## Documentation Index
> Fetch the complete documentation index at: https://infra-docs.kaeyros.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Exécuter un playbook Ansible sur un serveur cible

> Procédure standard pour exécuter un playbook Ansible : cloner le repo, activer Ansible Vault, lancer avec --limit et --check en production.

Cette page décrit la procédure standard pour exécuter un playbook Ansible sur un serveur cible. Elle couvre la préparation du dépôt, la gestion des secrets chiffrés et les bonnes pratiques de lancement, notamment l'utilisation systématique de `--check` avant toute application en production.

## Prérequis

Avant de lancer un playbook, assurez-vous de disposer des éléments suivants :

* Accès SSH au serveur cible avec une clé autorisée
* Ansible installé localement (version 2.14 ou supérieure recommandée)
* Le fichier de mot de passe Ansible Vault (fourni par l'équipe DevOps)

## Procédure d'exécution

**1. Cloner le dépôt ansible-roles**

```bash theme={null}
git clone git@github.com:kaeyros-analytics-org/ansible-roles.git
cd ansible-roles
```

**2. Configurer le vault password**

Créez un fichier temporaire contenant le mot de passe Ansible Vault (ou utilisez la variable d'environnement) :

```bash theme={null}
export ANSIBLE_VAULT_PASSWORD_FILE=~/.vault_pass.txt
```

**3. Éditer les variables si nécessaire**

Si vous devez modifier des variables d'inventaire ou des secrets :

```bash theme={null}
ansible-vault edit inventory/prod/group_vars/all.yml
```

**4. Lancer le playbook en mode simulation**

Utilisez toujours `--check` pour prévisualiser les changements sans les appliquer :

```bash theme={null}
ansible-playbook -i inventory/prod site.yml --limit worker-1 --check
```

**5. Valider et exécuter réellement**

Si la simulation est conforme, relancez sans `--check` :

```bash theme={null}
ansible-playbook -i inventory/prod site.yml --limit worker-1
```

> [!WARNING]
>
> Ne lancez jamais un playbook en production sans l'option `--limit`. Un lancement sans restriction (`ansible-playbook -i inventory/prod site.yml`) appliquerait les changements à l'ensemble du parc, ce qui peut provoquer une interruption de service généralisée.

## Commandes fréquentes

```bash Simulation sur un seul hôte theme={null}
ansible-playbook -i inventory/prod site.yml --limit worker-1 --check
```

```bash Exécution réelle sur un seul hôte theme={null}
ansible-playbook -i inventory/prod site.yml --limit worker-1
```

```bash Exécution sur un groupe d'hôtes theme={null}
ansible-playbook -i inventory/prod site.yml --limit k8s_workers --check
```

```bash Exécution d'un playbook spécifique theme={null}
ansible-playbook -i inventory/prod playbooks/bootstrap.yml --limit worker-1 --check
```

```bash Vérification de syntaxe theme={null}
ansible-playbook -i inventory/prod site.yml --syntax-check
```

## Options importantes

| Option | Effet |
| - | - |
| `--check` | Mode simulation : aucune modification appliquée |
| `--limit <hôte>` | Restreint l'exécution à un hôte ou un groupe |
| `--diff` | Affiche les différences lors des changements |
| `--tags <tag>` | Exécute uniquement les tâches portant ce tag |
| `--skip-tags <tag>` | Ignore les tâches portant ce tag |
| `-v`, `-vv`, `-vvv` | Augmente la verbosité pour le débogage |

> [!TIP]
>
> Pour les opérations de maintenance planifiées, prévenez l'équipe d'astreinte via la chaîne d'alerte (ntfy / WhatsApp WAHA) afin d'éviter les faux positifs lors des redémarrages de services.

## Contact

En cas d'erreur ou de doute sur une exécution en production, contactez immédiatement l'équipe DevOps à [devops@kaeyros-analytics.com](mailto:devops@kaeyros-analytics.com).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.