Skip to main content
Voir en Markdown

Validation et génération de schéma

Deux choses ont leur place ici : vérifier une configuration sans rien démarrer, et émettre le JSON Schema qui décrit toutes les configurations. Les deux sont des commandes, et les deux fonctionnent sur toutes les distributions — le binaire, Docker, Homebrew.

sovrium validate <fichier>

La barrière avant déploiement.

>_ terminal
sovrium validate app.yaml

Affiche Valid configuration: <nom> et sort en 0, ou les erreurs et sort en 1. Tout échec vaut 1 : contrôler un pipeline tient donc en une ligne.

>_ terminal
sovrium validate app.yaml || exit 1

Valider depuis une configuration

Pour vérifier une configuration depuis une application en cours d'exécution — un webhook qui reçoit une configuration soumise, un audit planifié d'une configuration stockée — utilisez l'action d'automatisation data:validate-config. Elle exécute le décodeur qu'exécute sovrium validate, sans effet de bord et sans démarrage.

app.yaml
automations:
  - name: check-submitted-config
    trigger:
      type: webhook
      method: POST
    actions:
      - name: check
        type: data
        operator: validate-config
        props:
          config: '{{trigger.body.config}}'
          format: json

L'étape expose {{steps.check.valid}} et {{steps.check.errors}}. Voir Actions de données pour la liste complète des opérateurs.

sovrium schema

Affiche le JSON Schema (Draft-07) de la configuration d'application — le même document que servent les URLs du schéma hébergé.

>_ terminal
sovrium schema
sovrium schema --output app.schema.json

La commande ne prend aucun argument au-delà du chemin de sortie et ne lit rien de l'environnement : le schéma est dérivé d'AppSchema lui-même, sa sortie ne dépend donc que de la version de Sovrium. On peut ainsi le régénérer en CI et comparer les différences — un changement dans le fichier est un changement du schéma, jamais de la machine.

Un usage courant consiste à figer le schéma à côté de la configuration, pour que les éditeurs valident face à la version exacte que vous déployez :

>_ terminal
# À exécuter après chaque montée de version
sovrium schema --output app.schema.json
app.yaml
# app.yaml
# yaml-language-server: $schema=./app.schema.json
name: my-app

Pages associées

Dernière mise à jour 11 août 2026

Cette documentation a été rédigée avec de l'IA : des erreurs ou du contenu obsolète sont donc possibles. Sovrium est en bêta. Les contributions et corrections sont les bienvenues.

Construit avec Sovrium