Skip to content

Conversation

@scotwells
Copy link
Contributor

Summary

By default, the aggregated apiserver is configured to use in-cluster authentication for validating end-user authentication and authorization. This works great when the aggregated apiserver is exposed through the same kubernetes cluster the system is deployed in.

Now that we're working on integrating the system with Milo, we need to support a model where the apiserver is being aggregated by an external cluster instead of the cluster the system is deployed in.

Details

This PR introduces a few command like arguments to the deployment that can be used to influence the way the aggregated apiserver authenticates with the core control plane.

Users can now set the KUBECONFIG, AUTHORIZATION_KUBECONFIG, and AUTHENTICATION_KUBECONFIG environment variables to configure how the aggregated apiserver should communicate with the core control plane.

Future Work

  • Guide document for how to deploy the system that integrates with an external cluster

Relates to https://github.com/datum-cloud/engineering/issues/90

Add KUBECONFIG environment variable to allow optional connection to a
core Kubernetes cluster for features like Priority and Fairness, or to
connect to a remote authorization/authentication provider.

Key changes:
- Add --kubeconfig flag passed from KUBECONFIG env var
- Defaults to empty string, allowing in-cluster authentication when
  running in a cluster
- Can be overridden via deployment patches to point to remote cluster
  kubeconfig for delegated auth/authz or other core API features

When KUBECONFIG is empty, the apiserver will attempt to use in-cluster
config via service account token. When set, it will use the specified
kubeconfig file with mTLS client certificates.
@scotwells scotwells merged commit 79038ac into main Dec 24, 2025
4 checks passed
@scotwells scotwells deleted the feat/support-custom-ca-request-header-authentication branch December 24, 2025 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants