Authentication Overview¶
Engineering Runtime never issues or stores credentials. It validates that a credential the platform's own tooling already manages is present and valid.
Authenticate using the platform. Govern using the runtime.
There is no runtime login that opens a browser, no credential store, no token
file the runtime owns. If a session is missing or expired, the runtime tells
you which platform command to run yourself.
Two provider shapes¶
REST providers¶
For services with an HTTP API. The token lives in an environment variable —
never in config.yaml. The Auth Engine calls a known validation endpoint and
treats HTTP 2xx as success.
| Provider | Environment variable | Validation call |
|---|---|---|
github |
RUNTIME_GITHUB_TOKEN |
GET <base_url>/user |
CLI providers¶
For tools that manage their own credential store. The Auth Engine runs the tool's own auth check — the runtime handles no token at all.
| Provider | Binary | Auth check |
|---|---|---|
gcp |
gcloud |
gcloud auth print-access-token for validity, gcloud config get-value account for the subject |
kubernetes |
— | Reads the kubeconfig's current-context directly, no shell-out |
openshift |
oc |
oc whoami |
Current provider status¶
| Provider | Kind | Status |
|---|---|---|
| GitHub | REST | Implemented |
| GCP | CLI | Implemented (ADC) |
| Kubernetes | CLI | Implemented |
| OpenShift | CLI | Implemented |
| AWS | CLI | Not yet implemented |
| Azure | CLI | Not yet implemented |
| OIDC (CI workload identity) | — | Not yet implemented |
Binaries with no auth provider mapping — terraform, aws, az, vault,
docker, pulumi and others — still run through
command run. They simply manage their own
credentials, which is a declaration, not a gap.
Enabling a provider¶
Only providers with enabled: true are checked. A disabled provider costs
nothing — no code path for it runs.
authentication:
github:
enabled: true
gcp:
enabled: true # after `gcloud auth application-default login`
See config.yaml.
The lifecycle: login → execute → logout¶
runtime auth status # unaudited health check across every enabled provider
runtime auth login <provider> # validate one provider explicitly; audited
runtime auth logout <provider> # revoke where possible; audited
auth status is a diagnostic, not a prerequisite. There is no pre-flight
auth check anywhere in the execution path — each execution validates the
provider its operation needs, inline. Nothing is cached between commands, and
no session is established.
Full command reference: runtime auth.
How a provider is chosen¶
Dispatch is resolved two different ways, and the distinction matters.
Runtime Providers declare their Auth Engine provider once, for every operation they expose:
| Runtime Provider | Auth provider |
|---|---|
github |
github |
files |
none — never touches a network or a credential |
This applies whatever transport the provider picks. A CLI-backed GitHub
operation authenticates as github exactly like a REST-backed one — and the
Command Engine forwards the validated token to gh as GH_TOKEN, which is why
gh auth login is never required.
Command Engine binaries invoked directly through runtime command run
declare their provider in config.yaml's command_providers map:
command_providers:
gcloud: gcp
kubectl: kubernetes
oc: openshift
# terraform intentionally has no entry — it manages its own credentials
An unmapped binary skips the Auth Engine entirely. There is no silent fallback to a default provider: omission is treated as a "doesn't need auth" declaration.
Two senses of the word provider
An Auth Engine provider is a credential source (github, gcp,
kubernetes, openshift). A Runtime Provider is an operation surface
(github, files). A Runtime Provider names the Auth Engine provider it
uses. See Providers.
Policy runs before authentication¶
The execution lifecycle evaluates policy
before authentication, deliberately. A policy-denied operation is rejected and
audited without ever spending a credential-validation round trip against the
platform — and nothing is lost by it, since an audit record carries the OS user
as executor, not a platform identity.
Diagnosing¶
Reports every provider's enabled state, whether its CLI binary is installed, and its live auth status:
Auth Providers:
PROVIDER ENABLED BINARY INSTALLED AUTH STATUS
github yes - - ✓ subject=your-login
gcp yes gcloud yes ✗ no ADC — run: gcloud auth application-default login
kubernetes no - - -
openshift no oc no -
Per-provider setup¶
- GitHub — token, scopes, Enterprise Server
- GCP, Kubernetes, OpenShift — CLI-native sessions