Skip to content

Define operator conventions for domain operators #209

Description

@DmyMi

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

coreCore feature for projectk8soperatortaskTechnical task to implement

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions