Fasit is a multi-tenant feature management platform. It deploys OCI Helm charts — called features — across environments, using label-based targeting and automatic reconciliation.
Feature author
│
├─── push chart ───────► OCI Registry
│ ▲
└─── create assignment ──┐ │
▼ │
┌────── Fasit ─────────────────────────────┐
│ │
│ Desired state Reconciler │
│ ┌─────────────┐ │ │
│ │ assignment │────► compare ◄──────┐ │
│ │ config │ │ │ │
│ │ env values │ deploy instr. │ │
│ └─────────────┘ │ │ │
│ │ │ │
└──────────────────────────┼───────────┼───┘
▼ │
┌──────────────────┐ │
│ Environment │ │
│ │ │
│ naisd ► helm │ │
│ │ │
│ Actual state │──┘
│ feature @ v1.2 │ (status report)
└──────────────────┘
- A feature is an OCI Helm chart with a
Feature.yamlthat declares its configurable values and target environment kinds. - A feature author creates an assignment — handing a feature version to Fasit with a set of target labels (e.g.
tenant=nav,env=prod). - Fasit matches the assignment to all environments whose labels are a superset of the target.
- The reconciler renders helm values for each matched environment and sends deploy instructions to the naisd agent running there.
- naisd executes
helm install/upgradeand reports status back.
When configs, environment values, or feature versions change, the reconciler detects the drift and re-deploys automatically.
- Concepts — environments, features, assignments, values, reconciliation
- Authoring a Feature — Feature.yaml spec, templates, template functions
| Component | Role |
|---|---|
| fasit | HTTP/gRPC server, web UI, reconciler, deployment orchestration |
| naisd | Per-environment agent that executes Helm and reports status |
mise install # install tools
cp .env.example .env # configure environment
mise run setup # start postgres + pubsub emulator, seed database
mise run dev # run fasit with auto-reloadSee mise run --list for all available tasks.
mise run test # unit + integration tests
mise run test:unit # unit tests only
mise run test:integration # integration tests (requires testcontainers)Enable IDE autocompletion/validation for Feature.yaml:
https://storage.googleapis.com/fasit-jsonschema/feature.json