Run the kind end-to-end pass and examples/demo/run-demo.sh after the credential/CRD redesign #7

Open
opened 2026-10-09 12:43:02 +00:00 by niklas · 0 comments
Owner

The Oct 2026 redesign (operator key seeded into the server, external_id teams, escalation and dead man's switches folded into TerdutTeam, invites and the two child CRDs removed) is covered by envtest against a fake server and was smoke-tested against the real server binary over curl, but the real golden path has not been run.

To do

  • ./examples/demo/run-demo.sh on a fresh kind cluster. The script changed substantially: alice is now created through /api/bootstrap and added to both teams with her own key; the teams sit at Reason: UnknownUser until she exists; the manifests were renumbered (04/05 are the alert sources).
  • Verify through the server's own API: teams exist with the right external_id, escalation resolved the username, switches match spec.deadmanSwitches, integrations exist.
  • Check the pods roll when the <name>-operator-key Secret is deleted and the operator re-authenticates afterwards.
  • Delete the namespace and verify the teams are gone server-side (a team with open incidents must block until resolved).
  • Rename displayName; delete a team/switch/integration on the server and watch it self-heal.
  • Fix whatever breaks; record the result in ROADMAP.md.

Consider turning this into a CI job (kind + the server image) so it stops being a manual pass.

Server-side counterpart: terdut-server#41 (release prep).

The Oct 2026 redesign (operator key seeded into the server, `external_id` teams, escalation and dead man's switches folded into `TerdutTeam`, invites and the two child CRDs removed) is covered by envtest against a fake server and was smoke-tested against the real server binary over curl, but the real golden path has not been run. ## To do - `./examples/demo/run-demo.sh` on a fresh kind cluster. The script changed substantially: `alice` is now created through `/api/bootstrap` and added to both teams with her own key; the teams sit at `Reason: UnknownUser` until she exists; the manifests were renumbered (04/05 are the alert sources). - Verify through the server's own API: teams exist with the right `external_id`, escalation resolved the username, switches match `spec.deadmanSwitches`, integrations exist. - Check the pods roll when the `<name>-operator-key` Secret is deleted and the operator re-authenticates afterwards. - Delete the namespace and verify the teams are gone server-side (a team with open incidents must block until resolved). - Rename `displayName`; delete a team/switch/integration on the server and watch it self-heal. - Fix whatever breaks; record the result in ROADMAP.md. Consider turning this into a CI job (kind + the server image) so it stops being a manual pass. Server-side counterpart: terdut-server#41 (release prep).
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: niklas/terdut-operator#7