
# Actions cloud

La famille `cloud` orchestre les applications locataires de **Sovrium Cloud** — provisionnement de leurs bases de données, démarrage de leurs processus, attachement de routes d'ingress, et démantèlement. Cinq operators. Ces actions sont **verrouillées** : elles ne s'exécutent que lorsque le processus hôte est démarré avec le drapeau d'environnement `SOVRIUM_CLOUD_MODE`.

| Operator       | Props                  | Description                                                                                     |
| -------------- | ---------------------- | ----------------------------------------------------------------------------------------------- |
| `provision-db` | `dbName`               | Provisionne une base de données logique pour un locataire (par ex. `tenant_acme`).              |
| `spawn-app`    | `appSlug`, `configRef` | Démarre un processus d'application locataire à partir d'une référence de configuration validée. |
| `route-add`    | `domain`, `port`       | Attache une route d'ingress (domaine → port) à une application locataire.                       |
| `disable-app`  | `appSlug`              | Arrête une application locataire tout en préservant ses données.                                |
| `destroy-app`  | `appSlug`              | Démantèle une application locataire et supprime ses données.                                    |

| Prop        | Description                                                                                                 |
| ----------- | ----------------------------------------------------------------------------------------------------------- |
| `appSlug`   | Slug de l'application locataire — identifiant stable en minuscules-kebab (par ex. `acme-crm`). Templatable. |
| `dbName`    | Nom de la base de données logique du locataire (par ex. `tenant_acme`). Templatable.                        |
| `configRef` | Référence à la configuration locataire validée à démarrer (id / réf de ligne / URL). Templatable.           |
| `domain`    | Domaine de route à attacher — un hôte nu (par ex. `acme.sovrium.app`). Templatable.                         |
| `port`      | Port d'écoute de l'application locataire ciblé par la route (1–65535).                                      |

```yaml
# Onboard a new tenant when a signup record is approved
automations:
  - name: onboard-tenant
    trigger: { type: record, table: tenant_signups, events: [update] }
    actions:
      - name: db
        type: cloud
        operator: provision-db
        props: { dbName: 'tenant_{{trigger.data.slug}}' }
      - name: boot
        type: cloud
        operator: spawn-app
        props: { appSlug: '{{trigger.data.slug}}', configRef: '{{trigger.data.config_ref}}' }
      - name: route
        type: cloud
        operator: route-add
        props: { domain: '{{trigger.data.slug}}.sovrium.app', port: 3000 }
```

:::callout
**Verrouillé, jamais contrôlé par le schéma.** Les actions cloud sont acceptées partout par le schéma, mais une configuration qui les utilise est **rejetée au moment de la validation** sauf si l'hôte s'exécute avec le verrou d'environnement de processus `SOVRIUM_CLOUD_MODE`. Le verrou est une préoccupation de l'hôte — jamais un champ de schéma. N'utilisez ces actions que dans une application de plan de contrôle Sovrium Cloud.
:::

## Pages connexes

- [Vue d'ensemble des actions](/fr/docs/automation-actions-overview) — propriétés de base et carte des familles.
- [Déclencheurs](/fr/docs/automation-triggers) — déclencheurs d'enregistrement/manuels qui pilotent l'intégration des locataires.
- [Variables d'environnement](/fr/docs/automation-env-vars) — environnement hôte contrôlé par l'opérateur (distinct de `app.env`).
