Aller au contenu

Provisionner un serveur

Propre à OrkyvoToutes les offres1 entrée · 1 sortie

Applique une recette versionnée (paquets, répertoires, fichiers, commandes gardées, services) en ne changeant que ce qui diffère.

Éléments reçusProvisionner un serveurÉléments produits

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ètreTypeDétail
Serveur ou groupeobligatoireserveur ou groupeServeurs de l'environnement de l'exécution uniquement. Un groupe est résolu au démarrage de l'étape.
RecetteobligatoirerecetteRecettes gérées dans Serveurs › Recettes. La version appliquée est enregistrée avec chaque tâche.
Paramètresclé-valeurSubstitué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.
Modechoix« 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)nombre3600 s au plus.
En cas d'échec sur un serveurchoixValeurs : Échouer le bloc (après tous les serveurs), Continuer : le statut figure dans le résultat.
Serveurs traités en parallèle (groupe)nombre50 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.

Paramètres de l'exemple (JSON)Ouvrir l'éditeur
{
  "params": [
    {
      "id": "p1",
      "key": "MESSAGE",
      "value": "{{ $json.message }}"
    }
  ],
  "mode": "check"
}

Voir aussi