Tenants Guide
jinflow ist Multi-Tenant. Jeder Tenant ist ein unabhaengiger analytischer Arbeitsbereich mit eigenen Daten, AFS und KLS.
Tenant-Layout
Abschnitt betitelt „Tenant-Layout“live_root/ millesime/ domaine_zufferey/ afs/ ← analytisches Framework (Kopie des Packs + Tenant-spezifische Ergaenzungen) raw/ ← unveraenderliche Quell-CSVs (aus DLZ) build/ ← Intermediäre (kompiliertes SQL, angereicherte CSVs) store/ ← KLS + SIS + Logs + SnapshotsPack-qualifizierte IDs
Abschnitt betitelt „Pack-qualifizierte IDs“Alle Befehle verwenden pack.tenant Notation:
jin make --tenant millesime.domaine_zuffereyjin explore --tenant millesime.domaine_zuffereyjin afs update --tenant millesime.domaine_zuffereyEinen Tenant erstellen
Abschnitt betitelt „Einen Tenant erstellen“# Aus einem Pack-Namen (aufgeloest via pack_root)jin init --pack millesime --tenant domaine_new --source-system opale
# Aus einem Pack-Pfadjin init --pack /path/to/jinflow-pack-millesime --tenant domaine_new --source-system opaleDies erstellt live_root/millesime/domaine_new/ mit:
afs/— Kopie des Packsraw/,build/,store/— leer, bereit fuer Daten
Pack → Tenant synchronisieren
Abschnitt betitelt „Pack → Tenant synchronisieren“Wenn das Pack aktualisiert wird (neue Signals, Theses usw.):
# Trockenlauf (sehen was sich aendern wuerde)jin afs update --tenant millesime.domaine_zufferey
# Aenderungen anwendenjin afs update --tenant millesime.domaine_zufferey --do-it
# Alle Tenants aller Packsjin afs update --all --do-it
# Pack-Version bei Konflikten erzwingenjin afs update --tenant millesime.domaine_zufferey --do-it --forceThree-Way-Sync: Pack-Basismanifest verfolgt was zuletzt synchronisiert wurde. Wenn sowohl Pack als auch Tenant dieselbe Datei geaendert haben → Konflikt (nicht ueberschrieben ausser --force).
jin make --tenant millesime.domaine_zufferey # einen Tenant bauenjin make --pack millesime # alle Tenants im Packjin make --all # alle Tenants, alle Packsjin make --all --sync # DLZ synchronisieren + bauenjin make --tenant millesime.domaine_zufferey --extract # Excel → CSV → Sync → Buildjin make --tenant millesime.domaine_zufferey --clean # Intermediäre loeschen, vollstaendiger RebuildDatenfluss
Abschnitt betitelt „Datenfluss“Einen Tenant klonen
Abschnitt betitelt „Einen Tenant klonen“jin clone --source millesime.domaine_zufferey --name experiment# Erstellt: millesime.domaine_zufferey_experiment (teilt DLZ mit Quelle)Snapshots
Abschnitt betitelt „Snapshots“jin make --snapshot # Auto-Tag: YYYYMMDD-HHMMjin make --snapshot post-audit # benannter TagSnapshots sind unveraenderlich — make verweigert das Ueberschreiben.
Konfiguration
Abschnitt betitelt „Konfiguration“# Standard-Tenant setzenjin us --tenant millesime.domaine_zufferey
# Aktuelle Konfiguration anzeigenjin usAusgabe:
Live Root: /path/to/jinflow-live Pack Root: /path/to/jinflow-packhub (4 Packs) DLZ: /path/to/jinflow-datalandingzone (ok) Aktueller Tenant: millesime.domaine_zuffereyMulti-Pack
Abschnitt betitelt „Multi-Pack“Jedes Pack ist eine unabhaengige analytische Domaene. Tenants gehoeren zu einem Pack:
live_root/ millesime/ ← Weinbau-Analytik domaine_zufferey/ domaine_clavien/ alptrack/ ← Skigebiet-Analytik resort_alpine/ resort_glacier/Packs werden unabhaengig entwickelt (separate Git-Repos) und via jin afs update an Tenants synchronisiert.
v0.45.1 · built 2026-04-17 08:14 UTC