Aller au contenu

Guide Tenants

jinflow est multi-tenant. Chaque tenant est un espace de travail analytique indépendant avec ses propres données, AFS et KLS.

live_root/
millesime/
domaine_zufferey/
afs/ ← analytical framework (copy of pack + tenant-specific additions)
raw/ ← immutable source CSVs (from DLZ)
build/ ← intermediaries (compiled SQL, enriched CSVs)
store/ ← KLS + SIS + logs + snapshots

Toutes les commandes utilisent la notation pack.tenant :

Fenêtre de terminal
jin make --tenant millesime.domaine_zufferey
jin explore --tenant millesime.domaine_zufferey
jin afs update --tenant millesime.domaine_zufferey
Fenêtre de terminal
# From a pack name (resolved via pack_root)
jin init --pack millesime --tenant domaine_new --source-system opale
# From a pack path
jin init --pack /path/to/jinflow-pack-millesime --tenant domaine_new --source-system opale

Cela crée live_root/millesime/domaine_new/ avec :

  • afs/ — copie du pack
  • raw/, build/, store/ — vides, prêts pour les données

Quand le pack est mis à jour (nouveaux Signals, Theses, etc.) :

Fenêtre de terminal
# Dry-run (see what would change)
jin afs update --tenant millesime.domaine_zufferey
# Apply changes
jin afs update --tenant millesime.domaine_zufferey --do-it
# All tenants across all packs
jin afs update --all --do-it
# Force pack version on conflicts
jin afs update --tenant millesime.domaine_zufferey --do-it --force

Synchronisation three-way : le manifeste de base du pack suit ce qui a été synchronisé en dernier. Si le pack et le tenant ont modifié le même fichier → conflit (pas écrasé sauf --force).

Fenêtre de terminal
jin make --tenant millesime.domaine_zufferey # build one tenant
jin make --pack millesime # all tenants in pack
jin make --all # all tenants, all packs
jin make --all --sync # sync DLZ + build
jin make --tenant millesime.domaine_zufferey --extract # Excel → CSV → sync → build
jin make --tenant millesime.domaine_zufferey --clean # clear intermediaries, full rebuild
Fenêtre de terminal
jin clone --source millesime.domaine_zufferey --name experiment
# Creates: millesime.domaine_zufferey_experiment (shares DLZ with source)
Fenêtre de terminal
jin make --snapshot # auto-tag: YYYYMMDD-HHMM
jin make --snapshot post-audit # named tag

Les snapshots sont immuables — make refuse de les écraser.

Fenêtre de terminal
# Set default tenant
jin us --tenant millesime.domaine_zufferey
# Show current config
jin us

Sortie :

Live root: /path/to/jinflow-live
Pack root: /path/to/jinflow-packhub (4 packs)
DLZ: /path/to/jinflow-datalandingzone (ok)
Current tenant: millesime.domaine_zufferey

Chaque pack est un domaine analytique indépendant. Les tenants appartiennent à un pack :

live_root/
millesime/ ← winemaking analytics
domaine_zufferey/
domaine_clavien/
alptrack/ ← ski resort analytics
resort_alpine/
resort_glacier/

Les packs sont développés indépendamment (dépôts git séparés) et synchronisés vers les tenants via jin afs update.

jazzisnow jinflow is a jazzisnow product
v0.45.1 · built 2026-04-17 08:14 UTC