Description
Document the contract all three domain operators follow so implementations stay consistent without sharing a single codebase. No operator binary in this issue—only docs, Makefile stubs, and CI hooks teams will use.
Scope
- Add
docs/k8s/operators-overview.md (and link from docs/k8s/operator.md):
- Each team owns
operators/<domain>-operator/ + cmd/<domain>-operator/main.go (or equivalent)
- Shared spec shape:
replicas (int32), enabled (bool); optional deploymentName defaulting to team's Deployment
- Shared status:
conditions[] with type Ready
- Reconciler behavior: patch target Deployment replicas;
enabled: false → 0; surface errors in status
- Naming: API group per domain (
guest.sharebite.dev, business.sharebite.dev, admin.sharebite.dev)
- Makefile targets:
run-guest-operator, run-business-operator, run-admin-operator, test-operators (runs all three when present)
- CI: extend workflow to run
go test ./operators/... (passes with no packages until team PRs land)
- Optional:
deploy/k8s/operators/README.md listing three subfolders
Acceptance criteria
- Overview doc is enough for a team to start their operator issue without reading other teams' code.
- Makefile targets exist (can noop or skip missing dirs until operators merge).
- No merge order required between team operator PRs.
Blocks: guest-operator, business-operator, and admin-operator implementation issues.
Part of #207
Description
Document the contract all three domain operators follow so implementations stay consistent without sharing a single codebase. No operator binary in this issue—only docs, Makefile stubs, and CI hooks teams will use.
Scope
docs/k8s/operators-overview.md(and link fromdocs/k8s/operator.md):operators/<domain>-operator/+cmd/<domain>-operator/main.go(or equivalent)replicas(int32),enabled(bool); optionaldeploymentNamedefaulting to team's Deploymentconditions[]with typeReadyenabled: false→ 0; surface errors in statusguest.sharebite.dev,business.sharebite.dev,admin.sharebite.dev)run-guest-operator,run-business-operator,run-admin-operator,test-operators(runs all three when present)go test ./operators/...(passes with no packages until team PRs land)deploy/k8s/operators/README.mdlisting three subfoldersAcceptance criteria
Blocks: guest-operator, business-operator, and admin-operator implementation issues.
Part of #207