Prerequisites
- Kubernetes 1.25+
- Helm 3.8+
Install
Supplying your config
Inline config (simplest)
Pass yourconfig.yaml content as a Helm value:
values.yaml file:
Existing ConfigMap or Secret
If you manage config separately (via an operator, external-secrets, or sealed-secrets), reference it:Redis backend
Enable the bundled Redis subchart for pool state persistence and multi-instance HA:-redis Docker image and wires the Redis URL when backend.type: redis is set.
To use an external Redis instance instead of the bundled subchart:
Read-only admin (no database)
If you don’t want to run a database at all, deploy the admin server in read-only mode: it stays fully usable for monitoring (status, targets, pools, providers, metrics) but rejects every mutation, so config comes only fromconfig.inline/existingConfigMap/existingSecret.
configStore.dialect — see Config Store — Going fully database-free for the four combinations, and Admin Server — Read-only mode for what gets rejected and how it’s reported via the status query.
Token Server
If you’re using managed auth, the chart can deploy your token server image alongside Proxy Hopper — a Deployment plus a ClusterIP Service, with a predictable in-cluster URL derived automatically:config.existingConfigMap / config.existingSecret instead of config.inline, the template helper isn’t available — hard-code the in-cluster URL instead:
POST /token and GET /health — see Building a Token Server for the contract and a Python library that implements it for you.