Provider
A provider represents an external service that sandboxes need access to -
an LLM inference API, a source control platform, or a cloud service. The
OpenShellProvider CRD tells the operator which credentials to inject and
how to refresh them.
How it works
- Admin creates an
OpenShellProviderCR referencing a Kubernetes Secret - The operator syncs the provider configuration to the gateway
- When a sandbox starts, the gateway injects the credential as environment variables into the sandbox pod
- The agent (Claude Code, etc.) reads the env var and authenticates
Credential models
| Model | How it works | Best for |
|---|---|---|
| Shared key | One API key for all sandboxes | Small teams, dev/test |
| BYOK | Users set their own env vars in the sandbox | No admin setup needed |
| Token refresh | Gateway exchanges a service account key for short-lived tokens | Production with Vertex AI, GCP |
| SPIFFE/WIF | Per-sandbox identity via Workload Identity Federation | Enterprise with audit requirements |
Built-in provider profiles
The OpenShell gateway ships with built-in profiles that define the endpoints, binaries, and credential shapes for common services:
claude-code- Anthropic API (api.anthropic.com)google-vertex-ai- Vertex AI with service account token refreshgithub- GitHub API and git operationsgoogle-cloud- GCP APIsaws-bedrock- AWS Bedrock (bridge-fronted)
Set spec.providerType to one of these names. The gateway handles endpoint
allowlisting and credential injection automatically.
See also
- OpenShellProvider CRD
- Claude Code example
- Vertex AI example
- Policy - network policies must allow the provider endpoints