Aller au contenu

Guide de déploiement

jinflow sépare l’application (moteur + Explorer) des données (fichiers KLS tenant).

Deploy root (app) Live root (data)
_cli/jinflow ← CLI millesime/domaine_zufferey/
_explorer/ ← Explorer afs/, raw/, build/, store/
jinflow ← launcher millesime/domaine_zufferey/
afs/, raw/, build/, store/

L’application est construite une fois par release. Les données sont construites par tenant via make.

Fenêtre de terminal
# Bump version, build, package
just release patch
# Build current version without bumping
just release --now
# Skip tests for faster iteration
just release --now --skip-tests

Cela produit :

  • jinflow-deploy/_cli/ — binaire PyInstaller (Python + dbt + DuckDB)
  • jinflow-deploy/_explorer/ — build SvelteKit + node_modules
  • jinflow-deploy/jinflow — binaire CLI
Fenêtre de terminal
# Via launcher
./jinflow make --tenant millesime.domaine_zufferey
./jinflow explore --tenant millesime.domaine_zufferey
# Explorer
./jinflow explore # opens Explorer with tenant selector
Fenêtre de terminal
# CLI (from repo)
jin make --tenant millesime.domaine_zufferey
# Explorer dev server
cd explorer && npm run dev # localhost:4000

Docker est pour le déploiement cloud. L’Explorer local s’exécute comme serveur web Node.js.

Fenêtre de terminal
# Build Docker image
scripts/build-docker.sh
# Run with live root mount
docker run -v /path/to/live:/data/live:ro \
-p 4000:4000 \
jinflow-explorer

Les fichiers KLS peuvent être stockés dans Cloudflare R2 pour l’Explorer cloud :

Fenêtre de terminal
# Configure R2 credentials
jin us --r2-account-id ... --r2-key ... --r2-secret ... --r2-bucket jinflow-demo

L’Explorer découvre les fichiers KLS dans R2, les télécharge dans un cache local et les sert depuis le disque. La synchronisation en arrière-plan vérifie les mises à jour toutes les 5 minutes (comparaison ETag).

VariableUsage
JINFLOW_LIVE_ROOTLive root pour la découverte de tenants
JINFLOW_DB_PATHChemin KLS explicite (mode single-tenant)
JINFLOW_AFS_ROOTRacine AFS pour la configuration de marque
JINFLOW_SYSTEM_DB_PATHDuckDB système (optionnel)
JINFLOW_SIS_PATHChemin SIS explicite (override)
ANTHROPIC_API_KEYClé API Claude pour les explications IA
JINFLOW_AI_MODELOverride du modèle IA (défaut : claude-haiku-4-5-20251001)
KLS_SOURCEMode de découverte : local, r2 ou vide
KLS_LOCAL_DIRRépertoire local pour la découverte KLS
VariableUsage
JINFLOW_LIVEOverride du live root
JINFLOW_PACKS_ROOTOverride de la racine des packs
JINFLOW_DLZ_ROOTOverride de la racine DLZ
JINFLOW_TENANTTenant par défaut
JINFLOW_DEPLOY_ROOTOverride du deploy root
PlateformeCLIExplorer
macOS (arm64)Binaire natifNode.js ou Bun
WindowsBuild PyInstaller (sur Windows)Node.js
LinuxBuild PyInstaller (sur Linux)Node.js
  1. Vérifier que les tests passent : just test
  2. Commiter tous les changements
  3. Releaser : just release patch (ou minor, major)
  4. Tester le binaire déployé : jinflow-deploy/jinflow version
  5. Construire les tenants : jin make --all --sync
  6. Vérifier l’Explorer : jin explore
jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC