Mise en route
Installer Stella Ops
Un bundle signé installe toute la suite — orchestrateur de releases, scanner, moteur de politiques, coffre de preuves et console — sur votre propre matériel avec Docker Compose. Environ vingt-cinq conteneurs, dont quatre relèvent de l'infrastructure open source standard — PostgreSQL, Valkey, RustFS et un registre Zot. Une commande les démarre tous : l'installeur génère chaque secret, lance la pile et attend qu'elle se déclare saine. Compose redémarre ce qui tombe ; vous administrez une passerelle et une console.
Statut du produit : v1.0-RC1, version candidate.
Obtenir le bundle
Chaque release est livrée sous forme d'un bundle d'évaluation unique : un seul docker-compose.yml, un .env.example documentant chaque réglage, des scripts d'installation pour Linux/macOS et Windows, et un release-manifest.yaml consignant le sha256 de chaque fichier et le digest de chaque image. Le bundle et les images sont tous deux publics : téléchargement anonyme depuis get.stella-ops.org, récupération anonyme depuis registry.stella-ops.org. Pas de compte, pas de jeton, pas d'inscription.
1 · Liste de vérification avant de commencer
Plateforme
Linux, macOS ou Windows. Installation via install.sh (Linux/macOS) ou install.ps1 (Windows) ; hormis Docker, seul openssl est requis sous Linux/macOS.
Ressources
4 vCPU, 16 Gio de RAM et 50 Go d'espace libre font tourner toute la pile. Pour les parcs plus grands, prévoyez 8 vCPU et 200 Go de SSD.
Docker
Engine 23.0+ avec Compose v2 — vérifiez avec docker -v. Sous Docker Desktop, portez la limite mémoire à au moins 16 Gio (Settings → Resources) ; la valeur par défaut est la cause la plus fréquente d'échec au premier démarrage.
Clés de vérification
Importez les clés CosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefacts/PGP depuis /keys/.
2 · Installer avec Docker Compose
- 1
Décompressez le bundle
Extrayez l'archive de release et placez-vous dedans.
release-manifest.yamlconsigne la version faisant autorité — s'il contredit le nom du fichier, fiez-vous au manifeste. - 2
Vérifiez avant d'exécuter
Contrôlez la signature du manifeste avec
CosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefacts, puis lanceztools/verify-bundle.pypour vérifier chaque somme de fichier et chaque digest d'image. Les scripts d'installation revérifient les sommes à chaque exécution et s'arrêtent à la moindre divergence. - 3
Lancez l'installateur
./install.sh(ou.\install.ps1) vérifie le bundle, génère chaque secret et certificat, télécharge les images, démarre la pile et attend sa convergence. Le premier démarrage télécharge plusieurs GB et exécute les migrations — dix à vingt minutes sont normales. - 4
Connectez-vous
Ouvrez
https://127.0.0.1:8443/et connectez-vous enadminavec le mot de passe que l'installateur affiche une seule fois — il n'existe aucun mot de passe par défaut. La passerelle sert un certificat auto-signé, votre navigateur avertira une fois. Changez le mot de passe après la première connexion.
$ curl -fsSLO https://get.stella-ops.org/releases/v1.0.0-RC1/stellaops-bundle-v1.0.0-RC1.tar.gz
$ curl -fsSL https://get.stella-ops.org/releases/v1.0.0-RC1/SHA256SUMS \
| sha256sum --check --ignore-missing
$ tar xzf stellaops-bundle-v1.0.0-RC1.tar.gz && cd stellaops-bundle-v1.0.0-RC1
$ cosign verify-blob --insecure-ignore-tlog=true --key release-signing.pub \
--signature release-manifest.yaml.sig release-manifest.yaml
$ python tools/verify-bundle.py --require-signature --require-digests
$ ./install.sh
Console https://127.0.0.1:8443/
Username admin
Password <generated, shown once> Vous préférez dérouler chaque étape vous-même ? Copiez .env.example vers .env et remplacez chaque valeur CHANGE_ME et GENERATED_ — la pile refuse de démarrer sur un secret manquant plutôt que de retomber sur un défaut. Puis docker compose pull, docker compose up -d et docker compose ps jusqu'à ce que chaque service se déclare healthy.
3 · Installation hors ligne (entrefer)
La pile n'émet aucun appel réseau tiers au démarrage — tout ce qu'il lui faut est dans les images et dans le répertoire config/ du bundle. Pour installer sans accès Internet :
- 1
Mettez les images en miroir
Sur un hôte connecté, recopiez les digests d'images consignés dans
release-manifest.yamlvers votre registre interne, ou exportez-les avecdocker save.docker-compose.pinned.ymlépingle chaque image par digest : le déploiement reste reproductible. - 2
Transfert
Déplacez le bundle vérifié et les images mises en miroir vers votre site isolé via un support approuvé (USB, courrier, boîte de dépôt).
- 3
Installez sur votre registre
Renseignez
STELLA_REGISTRYdans.envvers votre registre interne et lancez./install.sh --offline. Les données d'avis et de VEX arrivent séparément dans l'Offline Kit — importez-le avecstella offline import --bundle <kit>.tar.zstou déposez-le dansairgap-import/.
4 · Limites du niveau gratuit
La licence permet librement l'évaluation, le développement et les tests, ainsi que l'usage en production dans la limite de 3 environnements et 100 scans de nouveaux digests par période glissante de 24 h. Le même build sert à tous les niveaux — rien n'est réservé à un binaire différent.
Au-delà de ces limites, une licence commerciale est requise — voir les tarifs. Les limites sont des clauses de la licence, pas des restrictions d'exécution dans le logiciel.
5 · Connectez votre CI
Votre pipeline peut produire des preuves avant qu’une cible de déploiement ne soit connectée. stella ci init génère un workflow pour GitHub, GitLab ou Gitea; chaque build scanne ensuite l'image et signe une attestation de build (DSSEDead Simple Signing Envelope – un standard simple et flexible pour signer des données arbitraires avec des signatures cryptographiques). Aucun connecteur de déploiement n’est requis.
$ stella ci init --platform github --mode scan-attest
✓ Created: .github/workflows/stellaops-gate.yml
✓ 1 template(s) initialized successfully
Next steps:
1. Review the generated workflow files
2. Add required secrets (STELLAOPS_TOKEN, etc.)
3. Commit and push to trigger the workflow Chaque construction atterrit sur la colonne vertébrale de la garde : Source → Construction → Analyse → Verdict → Décision → Déployer → Regarder. Chaque étape indique l’un des trois états suivants : MISSING, RECORDED ou SIGNED. Une étape que rien n’a encore alimentée indique MISSING, et rien n’est déduit pour la combler.
6 · Artefacts et vérification
D’où viennent les artefacts aujourd’hui et comment les vérifier avant de leur faire confiance.
- État actuel : le bundle signé v1.0.0-RC1 et les images de conteneur sont publics et disponibles anonymement depuis
get.stella-ops.orgetregistry.stella-ops.org. - Tout vérifier : chaque bundle contient un
release-manifest.yamlconsignant le sha256 de chaque fichier et le digest de chaque image — contrôlez sa signatureCosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefactsavant la première exécution. - Disponibilité du code source : le code est disponible sous BUSL-1.1 — une condition de licence.
Vérifiez avant la première exécution : importez les clés publiques CosignOutil de signature de conteneurs du projet Sigstore pour signer et vérifier les images de conteneurs et artefacts/PGP et vérifiez la signature et le manifeste de chaque artefact – connectés ou isolés. Clés de vérification →
Pour l’examen des achats, utilisez Licence et Tarifs comme références canoniques en matière de droits et de licences.
7 · Votre première promotion vérifiée
Une installation neuve ne contient encore ni environnements ni releases. Ces quatre étapes font passer une image de conteneur de l'enregistrement à la promotion, et se terminent par l'export de la décision sous forme d'une seule carte de preuve signée.
- 1
Créez vos environnements
Définissez le chemin de promotion — dev, staging, production — et attachez une politique à chacun. Console uniquement pour l'instant : aucune commande CLI n'existe encore pour cette étape.
- 2
Enregistrez une release par digest
Ajoutez une image de conteneur par son digest de contenu. Stella l'analyse et génère un
SBOMSoftware Bill of Materials – une liste complète de tous les packages et dépendances de votre logiciel. Console uniquement pour l'instant : aucune commande CLI n'existe encore pour cette étape. - 3
Soumettez la promotion
Demandez à Stella de faire passer la release à l'environnement suivant. La commande soumet la décision — le résultat du gate et les approbations encore requises s'affichent dans la Console.
- 4
Exportez la carte de preuve
Emballez un pack de preuves scellé dans un seul fichier signé. Sans
--output, il est écrit sous<pack-id>.evidence-card.json.
$ stella release promote rel-7829726 --to staging
$ stella evidence card export evp-2026-01-14-abc123 --output evidence-card.json Les deux arguments sont des identifiants opaques générés par le produit : un ID de release ressemble à rel-7829726, un ID de pack de preuves à evp-2026-01-14-abc123. Un nom ou une version de release ne sera pas résolu. Relevez les deux dans la Console — aucune commande CLI ne liste encore les releases.
Le test d'acceptation que nous pensons que vous devriez mener contre nous
Un pilote par étapes : un point de contrôle de deux jours-ingénieur, peu coûteux à échouer, puis une semaine adversariale — une vulnérabilité atteignable et une non atteignable de votre choix, des preuves manquantes, une panne du plan de contrôle, une dérive délibérée et une capsule vérifiée sur une machine que nous ne touchons jamais.
Lire le guide du pilote →