Repository navigation
Add token-refresher - #646
Conversation
64f4db7 to
4a85ada
Compare
There was a problem hiding this comment.
Pull request overview
Adds token-refresher as a new operator-managed cluster singleton component that maintains per-Site Kubernetes bootstrap token Secrets, and wires it into the build/release/manifests pipeline and Site API surface.
Changes:
- Introduces a new
token-refreshercontroller binary + container image, plus templated/embedded deployment manifests. - Registers the component in the operator’s default component registry and extends overrides/image coverage/manifest guard tests accordingly.
- Extends the Site API (
spec.components.tokenRefresher) with defaults + print column, and updateskubectl unbounded site inittemplates to set it explicitly.
Show a summary per file
Review details
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Files not reviewed (1)
- api/machina/v1alpha3/zz_generated.deepcopy.go: Generated file
- Files reviewed: 38/39 changed files
- Comments generated: 2
- Review effort level: Lite
|
Should we look for tokens that are about to expire vs already expired and rotate at some threshold? Then gradually update refs to the new? The PR description says it updates Machines but I don't see that code. Wondering what happens if we have 100k machines to update. |
|
Can this just be a controller compiled into the unbounded operator? Seems like it's small/simple enough to avoid adding another binary. Also we might consider switching to short-lived service account tokens to avoid the need for long lived tokens in the first place. |
fde9026 to
5092feb
Compare
Jordan Olshevski (jveski)
left a comment
There was a problem hiding this comment.
LGTM - we'll just need to address the hot update loop at some point in the future
…s available for machina.
5092feb to
e98df55
Compare

Adds token-refresher as an unbounded component. It will watch secrets in kube-system and regenerate the bootstrap token if it expires. We update any bootstrapTokenRefs in machine resources to match as well.