Guide de déploiement
jinflow sépare l’application (moteur + Explorer) des données (fichiers KLS tenant).
Architecture
Section intitulée « Architecture »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.
Release desktop
Section intitulée « Release desktop »# Bump version, build, packagejust release patch
# Build current version without bumpingjust release --now
# Skip tests for faster iterationjust release --now --skip-testsCela produit :
jinflow-deploy/_cli/— binaire PyInstaller (Python + dbt + DuckDB)jinflow-deploy/_explorer/— build SvelteKit + node_modulesjinflow-deploy/jinflow— binaire CLI
Exécution
Section intitulée « Exécution »# Via launcher./jinflow make --tenant millesime.domaine_zufferey./jinflow explore --tenant millesime.domaine_zufferey
# Explorer./jinflow explore # opens Explorer with tenant selectorDéveloppement
Section intitulée « Développement »# CLI (from repo)jin make --tenant millesime.domaine_zufferey
# Explorer dev servercd explorer && npm run dev # localhost:4000Docker (cloud uniquement)
Section intitulée « Docker (cloud uniquement) »Docker est pour le déploiement cloud. L’Explorer local s’exécute comme serveur web Node.js.
# Build Docker imagescripts/build-docker.sh
# Run with live root mountdocker run -v /path/to/live:/data/live:ro \ -p 4000:4000 \ jinflow-explorerR2 (stockage cloud)
Section intitulée « R2 (stockage cloud) »Les fichiers KLS peuvent être stockés dans Cloudflare R2 pour l’Explorer cloud :
# Configure R2 credentialsjin us --r2-account-id ... --r2-key ... --r2-secret ... --r2-bucket jinflow-demoL’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).
Variables d’environnement
Section intitulée « Variables d’environnement »Explorer
Section intitulée « Explorer »| Variable | Usage |
|---|---|
JINFLOW_LIVE_ROOT | Live root pour la découverte de tenants |
JINFLOW_DB_PATH | Chemin KLS explicite (mode single-tenant) |
JINFLOW_AFS_ROOT | Racine AFS pour la configuration de marque |
JINFLOW_SYSTEM_DB_PATH | DuckDB système (optionnel) |
JINFLOW_SIS_PATH | Chemin SIS explicite (override) |
ANTHROPIC_API_KEY | Clé API Claude pour les explications IA |
JINFLOW_AI_MODEL | Override du modèle IA (défaut : claude-haiku-4-5-20251001) |
KLS_SOURCE | Mode de découverte : local, r2 ou vide |
KLS_LOCAL_DIR | Répertoire local pour la découverte KLS |
| Variable | Usage |
|---|---|
JINFLOW_LIVE | Override du live root |
JINFLOW_PACKS_ROOT | Override de la racine des packs |
JINFLOW_DLZ_ROOT | Override de la racine DLZ |
JINFLOW_TENANT | Tenant par défaut |
JINFLOW_DEPLOY_ROOT | Override du deploy root |
Prérequis plateformes
Section intitulée « Prérequis plateformes »| Plateforme | CLI | Explorer |
|---|---|---|
| macOS (arm64) | Binaire natif | Node.js ou Bun |
| Windows | Build PyInstaller (sur Windows) | Node.js |
| Linux | Build PyInstaller (sur Linux) | Node.js |
Checklist de release
Section intitulée « Checklist de release »- Vérifier que les tests passent :
just test - Commiter tous les changements
- Releaser :
just release patch(ouminor,major) - Tester le binaire déployé :
jinflow-deploy/jinflow version - Construire les tenants :
jin make --all --sync - Vérifier l’Explorer :
jin explore
v0.45.1 · built 2026-04-17 08:14 UTC