Controller auto-update
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 11.5k
- Forks
- 1.4k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 53
Description
In order to closely track a release train (especially edge), it would be nice to have an auto-update operator that is responsible for watching the version-check api and replacing linkerd controller pods (possibly after some user ack).
Furthermore, this may motivate changing the `inject` flow to make the controller process the YAML. With auto-inject, and the general desire to have cluster-wide policy, like skip-port whitelists, profile domain policy, etc. This would also reduce the logic related to auto-inject.
It would ideally also update itself in a way that allowed it to ensure the new updater is healthy before closing gracefully (i.e., not bluntly overwriting its own kubernetes resource).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the version-check API, controller pods, and the inject flow described in the issue. Define the updater's responsibilities, acknowledgment behavior, policy handling, and graceful handoff, with completion requiring a healthy replacement updater before the old one exits.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go, kubernetes
- Domain
- devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100