La CLI mistral-vespa gère le cycle de vie de l’application Vespa, de la génération des migrations au déploiement et aux tests.

Astuce

Exécutez uv run mistral-vespa --help pour afficher la liste complète des commandes et options disponibles.

generate-migration

generate-migration

Créez un squelette de migration horodaté.

uv run mistral-vespa generate-migration <name> [--app-dir <path>]
Argument/optionValeur par défautDescription
namerequisNom de la migration, utilisé pour le nom de fichier et le squelette de classe
--app-dir./vespa_appRépertoire racine de l’application Vespa
migrate

migrate

Construisez l’application à partir des migrations et déployez-la. Les déploiements sur nœud unique (localhost) et Kubernetes sont pris en charge.

uv run mistral-vespa migrate [--app-dir <path>] [flags]
OptionValeur par défautDescription
--app-dir./vespa_appRépertoire racine de l’application Vespa
--dry-runfalsePrévisualiser les modifications sans les appliquer
--config-serverautoURL du serveur de configuration (host
). Valeur par défaut : http://localhost:19071 en local, ou URL du service dans le cluster pour K8s
--query-port8080Port de requête côté hôte à interroger après le déploiement

Options Kubernetes (dépréciées) : utilisez generate-topology pour produire un fichier de topologie, puis transmettez-le avec --topology-file.

OptionValeur par défautDescription
--k8s-namespaceSans objetNamespace Kubernetes (requis avec --k8s-instance)
--k8s-instanceSans objetInstance Kubernetes (requise avec --k8s-namespace)
--k8s-contextSans objetContexte Kubernetes. Nécessite --k8s-namespace, --k8s-instance et --config-server

Exemples :

# Local Docker
uv run mistral-vespa migrate --config-server http://localhost:19071

# Kubernetes (in-cluster, e.g. CI)
uv run mistral-vespa migrate \
  --k8s-namespace my-project \
  --k8s-instance vespa

# Kubernetes (workstation, with kubectl port-forward)
uv run mistral-vespa migrate \
  --k8s-namespace my-project \
  --k8s-instance vespa \
  --k8s-context staging \
  --config-server http://localhost:19071
generate

generate

Écrivez les fichiers du package d’application sur le disque à partir des migrations, pour inspection ou validation CI. Non utilisé pour le déploiement.

uv run mistral-vespa generate --path <output-dir> [--app-dir <path>]
OptionValeur par défautDescription
--pathrequisRépertoire où écrire les fichiers du package d’application
--app-dir./vespa_appRépertoire racine de l’application Vespa

Structure de sortie :

<output-dir>/
├── schemas/
│   └── <document_type>.sd
└── search/
    └── query-profiles/
        ├── <query_profile_name>.xml
        └── types/root.xml
bruno

bruno

Générez les fichiers de test d’API Bruno à partir des migrations.

uv run mistral-vespa bruno --query-url <url> --document-url <url> [--app-dir <path>]
OptionValeur par défautDescription
--query-urlrequisURL de l’endpoint de requête Vespa
--document-urlrequisURL de l’endpoint document/feed Vespa
--app-dir./vespa_appRépertoire racine de l’application Vespa
local up

local up

Démarrez un conteneur Vespa local via Docker.

uv run mistral-vespa local up [--query-port <port>] [--config-port <port>] [--name <name>]
OptionValeur par défautDescription
--query-port8080Port hôte mappé à la requête Vespa
--config-port19071Port hôte mappé au serveur de configuration Vespa
--namevespaNom du conteneur Docker
local down

local down

Arrêtez le conteneur Vespa local et supprimez les volumes.

uv run mistral-vespa local down [--name <name>]
local status

local status

Vérifiez si le conteneur Vespa local est en cours d’exécution.

uv run mistral-vespa local status [--name <name>]