Skip to content

🤖 security: verify the aggregated API server certificate instead of insecureSkipTLSVerify #137

Description

@ThomasK33

deploy/apiserver-apiservice.yaml registers the aggregated API with insecureSkipTLSVerify: true, so kube-apiserver does not verify the aggregated API server's serving certificate. The docs already call this development-only, but it is what every documented install applies.

With authentication now required (#136), front-proxy mTLS still stops a network attacker from forging identities. But anyone who can hijack the coder-k8s-apiserver Service endpoints or sit on the network path could read relayed requests and the X-Remote-* identity headers.

Proposal: give the aggregated API server a serving certificate signed by a CA that the APIService trusts through caBundle, and drop insecureSkipTLSVerify. Options include cert-manager with a CA injector, or a self-managed CA Secret with an injected caBundle. Document the chosen path and keep a development shortcut only if it is clearly labelled.

Acceptance:

  1. The documented install registers the APIService with a caBundle and no insecureSkipTLSVerify.
  2. The Kind E2E shows the APIService Available with verification on, and failing with a wrong CA.
  3. Docs describe certificate rotation.

Owner: maintainer desk. Trigger: after v0.1.1 is released.


Generated with xum • Model: anthropic:claude-opus-5-5 • Thinking: medium

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions