Aller au contenu

Provisionner l'infrastructure (visuel)

Propre à OrkyvoToutes les offres1 entrée · 1 sortie

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.

Éléments reçusProvisionner l'infrastructure (visuel)Éléments produits

Fonctionnement

Le schéma est revalidé puis traduit en fichiers OpenTofu (sans backend : l'état, chiffré, est géré par Orkyvo pour chaque environnement). Une pile dédiée à ce bloc est tenue à jour : une nouvelle version est créée quand le schéma change. Le plan est calculé et conservé ; l'application exécute ce plan précis après validation, uniquement si l'état n'a pas changé.

Paramètres

ParamètreTypeDétail
Schéma de l'infrastructureschémaRessources AWS, Azure, Google Cloud ou Alibaba Cloud (un fournisseur par schéma), imbrication (réseau › sous-réseaux › ressources) et liaisons. Le code OpenTofu est généré à chaque exécution et versionné avec le schéma.
ActionchoixValeurs : Planifier puis appliquer, Planifier seulement (aucune modification), Détruire toutes les ressources du schéma.
Validation requise avant l'applicationselon les autres paramètresoui / nonL'étape attend (sans occuper de worker) qu'une personne disposant du droit « Appliquer l'infrastructure » approuve le plan. Sans validation, ce droit est exigé pour publier et exécuter le workflow.
Délai de validation (heures)selon les autres paramètresnombre—
Variables OpenTofuclé-valeurSelon le schéma : db_password (RDS, PostgreSQL Azure, Cloud SQL, ApsaraDB RDS), admin_ssh_public_key (machines Azure, instances ECS Alibaba), eks_cluster_role_arn et eks_node_role_arn (EKS), acm_certificate_arn (ALB sur le port 443). Ex. db_password = {{ $env.DB_PASSWORD }}.
Identifiants du fournisseurclé-valeurAWS : AWS_ACCESS_KEY_ID et AWS_SECRET_ACCESS_KEY. Azure : ARM_CLIENT_ID, ARM_CLIENT_SECRET, ARM_TENANT_ID, ARM_SUBSCRIPTION_ID. Google Cloud : GOOGLE_CREDENTIALS (clé JSON d'un compte de service). Alibaba Cloud : ALICLOUD_ACCESS_KEY et ALICLOUD_SECRET_KEY (clé d'accès RAM). Valeurs depuis l'environnement, ex. {{ $env.AWS_KEY }}. Aucune autre variable du serveur d'exécution n'est transmise.
Validité du plan (minutes)nombre—
Délai maximal de chaque opération (secondes)nombre—

Données reçues et renvoyées

  • EntréeListe d'éléments ; le premier alimente les variables et les identifiants.
  • Sortie{ planId, status (PLANNED, APPLIED, NO_CHANGES), hasChanges, counts, changes, stack: { id, name, version }, outputs (après application, valeurs sensibles masquées), approvedBy, appliedAt }.

Erreurs

Schéma vide ou invalide (détail des erreurs), variable requise absente, identifiants refusés par AWS, plan rejeté ou expiré, état modifié depuis le plan (périmé), état verrouillé, échec d'OpenTofu.

À savoir. La pile du bloc apparaît dans Serveurs › Infrastructure (états par environnement, déverrouillage) ; elle ne se modifie que par le schéma.

À savoir. Une interruption pendant l'application rend le résultat indéterminé : rien n'est réappliqué automatiquement.

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
{
  "action": "apply",
  "requireApproval": true,
  "variables": [
    {
      "id": "v1",
      "key": "db_password",
      "value": "{{ $env.DB_PASSWORD }}"
    }
  ],
  "env": [
    {
      "id": "e1",
      "key": "AWS_ACCESS_KEY_ID",
      "value": "{{ $env.AWS_KEY }}"
    },
    {
      "id": "e2",
      "key": "AWS_SECRET_ACCESS_KEY",
      "value": "{{ $env.AWS_SECRET }}"
    }
  ]
}

Voir aussi