Design scope
Goal: Prove the resource model on one real resource kind.
Scope - Implement the minimum vertical slice for a single resource VariableSet:
- common resource envelope:
- apiVersion
- kind
- metadata
- spec
- modification API with full-manifest apply/replace
- simplest ownership scope: bind to particular account
- minimal selector support: direct entity reference
- metadata parts like labels, annotations simply stored
- current desired-state persistence
- generation handling
- schema + semantic validation
- transactional write of:
- current resource state
- resource event
- outbox message
- asynchronous consumer that reacts to resource changes
- minimal status model:
- observedGeneration
- basic readiness / error information
Outcome: One real resource can be declared, stored, reacted to asynchronously, and queried back with basic status.
Resource definition
apiVersion: core.kamu.dev/v1alpha1
kind: VariableSet
metadata:
name: analytics-defaults
spec:
targetDatasetRef: kamu/my-test.dataset
variables:
APP_ENV:
value: production
LOG_LEVEL:
value: info
MAX_RETRIES:
value: "3"
status:
phase: Ready
observedGeneration: 3
variables:
total: 3
resolved: 3
invalid: 0
conditions:
- type: Ready
status: "True"
reason: Reconciled
message: VariableSet successfully reconciled
lastTransitionTime: "2026-03-19T18:30:00Z"
Design scope
Goal: Prove the resource model on one real resource kind.
Scope - Implement the minimum vertical slice for a single resource
VariableSet:Outcome: One real resource can be declared, stored, reacted to asynchronously, and queried back with basic status.
Resource definition