Kubelet Serving TLS Certificate Signing Request Approver
  • Go 82.4%
  • Gherkin 8%
  • Shell 5.8%
  • Dockerfile 2%
  • Starlark 1.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
dependabot[bot] 125f30e68a chore: bump github/codeql-action from 4.39.1 to 4.39.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.39.1 to 4.39.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v4.39.1...v4.39.2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.39.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-11-06 19:35:00 +01:00
.github chore: bump github/codeql-action from 4.39.1 to 4.39.2 2026-11-06 19:35:00 +01:00
build chore: upgrade golangci-lint v2.13.2 2026-08-28 13:56:18 +02:00
cmd chore: upgrade controller-runtime v0.24.1 2026-08-28 13:53:34 +02:00
controller/certificatesigningrequest chore: upgrade golangci-lint v2.15.0 2026-10-17 21:39:59 +02:00
deploy fix: add startup probe for slow API server handshakes at start-up 2026-09-16 19:29:56 +02:00
e2e fix: set prometheus validation scheme in e2e tests 2026-08-28 20:09:35 +02:00
hack ci: add kubernetes 1.36.4 e2e image 2026-08-28 20:09:37 +02:00
logger chore: upgrade golangci-lint v1.61.0 2024-09-13 19:55:03 +02:00
metrics chore: upgrade golangci-lint v2.13.2 2026-08-28 13:56:18 +02:00
.dockerignore feat: add operator to approve kubelet certificate use to serve TLS endpoints 2021-01-12 18:08:44 +01:00
.gitattributes feat: add operator to approve kubelet certificate use to serve TLS endpoints 2021-01-12 18:08:44 +01:00
.gitignore ci: add nancy scan action 2021-12-15 10:47:24 +01:00
.golangci.yml chore: upgrade go 1.27.2 2026-10-17 21:36:55 +02:00
.grype.yaml ci: add grype ignore 2022-12-21 14:20:25 +01:00
.nancy-ignore ci: update nancy ignore 2026-10-29 22:16:53 +01:00
CHANGELOG.md release(v0.12.1): prepare release 2026-09-16 19:30:48 +02:00
codecov.yml ci: use lower codecov target due to atomic coverage change 2025-11-22 10:03:20 +01:00
CONTRIBUTING.md feat: add operator to approve kubelet certificate use to serve TLS endpoints 2021-01-12 18:08:44 +01:00
Dockerfile chore: upgrade to latest distroless image 2026-10-22 23:13:29 +02:00
go.mod chore: upgrade golang.org/x/net v0.62.0 2026-10-29 22:15:47 +01:00
go.sum chore: upgrade golang.org/x/net v0.62.0 2026-10-29 22:15:47 +01:00
LICENSE feat: add operator to approve kubelet certificate use to serve TLS endpoints 2021-01-12 18:08:44 +01:00
main.go feat: add operator to approve kubelet certificate use to serve TLS endpoints 2021-01-12 18:08:44 +01:00
README.md chore: upgrade controller-runtime v0.24.1 2026-08-28 13:53:34 +02:00
Tiltfile chore: upgrade kubernetes v1.25.0 2022-09-06 19:07:26 +02:00

Kubelet Serving Certificate Approver

CI e2e-test codecov

Kubelet Serving Certificate Approver is a custom approving controller which approves kubernetes.io/kubelet-serving Certificate Signing Request that kubelet use to serve TLS endpoints.

Why should I use Kubelet Serving Certificate Approver?

  • You want to securely - in terms of trusted Certificate Authoritity (CA) - reach kubelet endpoint

  • Signed serving certificates are honored as a valid kubelet serving certificate by the API server

  • Don't want to use --kubelet-insecure-tls flag during installation of metrics-server

Do I need to have a commercial certificate?

No. Every Kubernetes cluster has a Cluster Root Certificate Authority (CA).

How do I use Kubelet Serving Certificate Approver?

To install into your Kubernetes cluster, please navigate to deploy directory.

Note: your Kubernetes cluster must be configured with enabled TLS Bootstrapping and provided rotate-server-certificates: true kubelet argument.

Kubernetes Compatibility Matrix

For older Kubernetes versions (v1.19, v1.20, v1.21) please see older releases.

The consumed API has been stable since v1.22. However, E2E tests have been removed from the CI pipeline following the removal of the node-role.kubernetes.io/master toleration from the deployment. For more information, refer to KEP-2067.

Version Compatible
v1.24 ✓
v1.25 ✓
v1.26 ✓
v1.27 ✓
v1.28 ✓
v1.29 ✓
v1.30 ✓
v1.31 ✓
v1.32 ✓
v1.33 ✓
v1.34 ✓
v1.35 ✓
v1.36 ✓

Prometheus Metrics

You can download Prometheus metrics /metrics endpoint.

Custom Metrics

Metric Description
kubelet_serving_cert_approver_approved_certificate_signing_request_count The number of approved Certificate Signing Request
kubelet_serving_cert_approver_invalid_certificate_signing_request_count The number of invalid Certificate Signing Request

Reference

License

Apache License, Version 2.0, see LICENSE.