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.
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ètre | Type | Détail |
|---|---|---|
| Schéma de l'infrastructure | schéma | Ressources 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. |
| Action | choix | Valeurs : Planifier puis appliquer, Planifier seulement (aucune modification), Détruire toutes les ressources du schéma. |
| Validation requise avant l'applicationselon les autres paramètres | oui / non | L'é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ètres | nombre | — |
| Variables OpenTofu | clé-valeur | Selon 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 fournisseur | clé-valeur | AWS : 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.
{
"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
- Provisionner un serveurApplique une recette versionnée (paquets, répertoires, fichiers, commandes gardées, services) en ne changeant que ce qui diffère.
- 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.