internal/natscluster, api, docs: adding or removing auth on a running NatsCluster is held; restart-all restarts every server together #55
No reviewers
Labels
No labels
accessibility
bug
dependencies
documentation
duplicate
enhancement
go
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
mikluko/nats-operator!55
Loading…
Reference in a new issue
No description provided.
Delete branch "mikluko/octant/2401-auth-transition"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A rollout that adds or removes
authon a runningNatsClusteris held: every server stays on the config it runs,ProgressingFalse with reasonAuthChangeBlocked,status.rollout.pendingnaming the servers. The annotationcluster.nats-operator.io/restart-allrestarts them all at once, past the gate andpaused, and is cleared once read, asforce-stepis; the rollout then waits on the gate and ends once every server is Ready and Settled. Recreating theNatsClusterstays the other way out.Removing
authsplits the same way, read from nats-server 2.15.0 and not run live: every server pins a route to its own system account (opts.go:6056-6072),$SYSwithoutauthand the system account's key with it, and the receiving side closes a route pinned to an account it cannot look up (route.go:2142-2149). An operator-mode server fetches only account keys; one withoutauthhas no resolver. Both directions are held alike.A cluster already stalled by 0.4.0 (one server restarted on
auth) is held too, andrestart-allrestarts only the servers still off the target.The story 2 section names the annotation in prose rather than a
kubectl annotatecommand, sincedocs/STYLE.mdasks for a command to be run against a live cluster first.Fixes #39