Skip to main content

Prerequisites

  • Kubernetes 1.25+
  • Helm 3.8+

Install

This deploys a single-instance Proxy Hopper with the in-memory backend using the default config.

Supplying your config

Inline config (simplest)

Pass your config.yaml content as a Helm value:
Or in a values.yaml file:

Existing ConfigMap or Secret

If you manage config separately (via an operator, external-secrets, or sealed-secrets), reference it:
When auth is enabled in your config (API keys, JWT, OIDC), use existingSecret rather than config.inline in a values file. Credentials in plain values files can end up in version control or Helm release history.Create the secret with:

Redis backend

Enable the bundled Redis subchart for pool state persistence and multi-instance HA:
The chart automatically selects the -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 from config.inline/existingConfigMap/existingSecret.
This is independent of 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:
Wire it into Proxy Hopper’s own config by referencing the chart’s URL helper — this keeps the URL correct regardless of the Helm release name:
If you’re using config.existingConfigMap / config.existingSecret instead of config.inline, the template helper isn’t available — hard-code the in-cluster URL instead:
Your token server image only needs to implement POST /token and GET /health — see Building a Token Server for the contract and a Python library that implements it for you.

Ingress

Upgrading

Uninstall