teleport/integrations/kube-agent-updater
dependabot[bot] c0fbd62698
Bump golang.org/x/net in /integrations/kube-agent-updater (#22673)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.3.1-0.20221206200815-1e63c2f08a10 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/commits/v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-03-07 18:17:44 +00:00
..
cmd/teleport-kube-agent-updater kube-updater: initial commit (#22067) 2023-03-06 18:40:28 +00:00
pkg kube-updater: initial commit (#22067) 2023-03-06 18:40:28 +00:00
go.mod Bump golang.org/x/net in /integrations/kube-agent-updater (#22673) 2023-03-07 18:17:44 +00:00
go.sum Bump golang.org/x/net in /integrations/kube-agent-updater (#22673) 2023-03-07 18:17:44 +00:00
Makefile kube-updater: initial commit (#22067) 2023-03-06 18:40:28 +00:00
README.md kube-updater: initial commit (#22067) 2023-03-06 18:40:28 +00:00
version.go Fix flaky test detetion for updater (#22690) 2023-03-07 04:49:01 +00:00

Teleport Kubernetes Agent Updater (teleport-kube-agent-updater)

The Teleport kubernetes updater is a controller in charge of updating Teleport Kubernetes agents. This alleviates the cost of updating all agents on large-scale deployments.

Note: Teleport Kubernetes agents are not limited to Kubernetes Access. The term applies to every Teleport instance running in a Kubernetes cluster and not running the Proxy nor Auth Service. Agents are typically deployed by the teleport-kube-agent chart.

Design

This updater was designed first for cloud customers but can be adapter to run for on-prem users as well.

See the cloud update RFD for more context.

If an update goes wrong, a temporary downtime is acceptable until a correct version is pushed (this risk is mitigated by multi-replica deployments). However, the failure mode in which the deployment is stuck and the user has to take manual action must not happen.

The updater validates the image provenance to protect against registry compromise.

The updater logic is the following:

  • check if maintenance is allowed
  • check if a new version is available and version change is valid
  • check if the new image can be validated