Provisionner un serveur
Applique une recette versionnée (paquets, répertoires, fichiers, commandes gardées, services) en ne changeant que ce qui diffère.
Fonctionnement
Moteur intégré, sans outil à installer sur le serveur : un script POSIX compare chaque ressource à l'état voulu et ne modifie que ce qui diffère. Une deuxième application sans changement de recette ne modifie rien. Les opérations privilégiées passent par « sudo -n » (le serveur doit autoriser les opérations privilégiées). Gestionnaires pris en charge : apt, dnf, yum, apk ; systemd, OpenRC.
Paramètres
| Paramètre | Type | Détail |
|---|---|---|
| Serveur ou groupeobligatoire | serveur ou groupe | Serveurs de l'environnement de l'exécution uniquement. Un groupe est résolu au démarrage de l'étape. |
| Recetteobligatoire | recette | Recettes gérées dans Serveurs › Recettes. La version appliquée est enregistrée avec chaque tâche. |
| Paramètres | clé-valeur | Substitués dans les noms, chemins et contenus déclarés ({{ params.NOM }}) et transmis aux commandes comme variables PARAM_NOM : jamais insérés dans le texte d'une commande. |
| Mode | choix | « Vérifier » indique ce qui changerait ; une commande sans condition « unless » est signalée comme non vérifiable. Valeurs : Appliquer, Vérifier seulement (aucune modification). |
| Délai maximal (secondes) | nombre | 3600 s au plus. |
| En cas d'échec sur un serveur | choix | Valeurs : Échouer le bloc (après tous les serveurs), Continuer : le statut figure dans le résultat. |
| Serveurs traités en parallèle (groupe) | nombre | 50 au plus. |
Données reçues et renvoyées
- EntréeListe d'éléments ; le premier élément alimente les paramètres.
- SortieUn élément par serveur : { serverId, serverName, status, mode, summary: { ok, changed, wouldChange, checkUnsupported, failed, skipped, unknown }, resources: [{ type, name, status, message }], packageManager, serviceManager, recipe: { name, version, specHash }, error, taskId }.
Erreurs
Recette ou version introuvable, paramètre obligatoire manquant, valeur invalide après substitution, ressource en échec (les suivantes sont ignorées sauf continueOnError), gestionnaire de paquets ou de services absent.
À savoir. Une ressource sans résultat (connexion perdue) est « unknown » et la tâche « indéterminée » : rien n'est relancé automatiquement.
À savoir. La génération du script n'est pas un provisionnement : seul le résultat renvoyé par le serveur est présenté.
Exemple
Paramètres d'un bloc prêt à l'emploi. Dans l'éditeur, l'onglet Aide du bloc applique cet exemple en un clic.
{
"params": [
{
"id": "p1",
"key": "MESSAGE",
"value": "{{ $json.message }}"
}
],
"mode": "check"
}Voir aussi
- Plan d'infrastructureCalcule avec OpenTofu les créations, modifications et suppressions d'une pile versionnée, sans rien modifier.
- Appliquer l'infrastructureApplique un plan calculé, après validation par une personne autorisée, si l'état n'a pas changé depuis.
- Provisionner l'infrastructure (visuel)Dessinez l'infrastructure AWS, Azure, Google Cloud ou Alibaba Cloud sur un canevas : le code OpenTofu est généré, planifié puis appliqué après validation, dans une seule étape.