Quick start
- Standard installation
- Secure installation (TLS)
Use this to evaluate the Control Plane — proofs of concept and test environments.
1
Deploy it
2
Access it
- Forward the service port to your machine:
postgres.enabled=true provisions a Postgres with host-mounted storage. If the node is decommissioned, the data goes with it.For anything durable, pass a storage class so it uses a Persistent Volume instead:--set postgres.storageClassName=<your-storage-class>
Helm install
To install the latest version into a namespace:Overriding values
You can add or override attributes from a basevalues.yaml on the command line. Here, pinning a specific version:
Database configuration
The Control Plane stores its state in Postgres, using theprivate schema for its own tables. This creates the database and a user with the privileges it needs:
If the password contains special characters, URL-encode it in the connection string.
POSTGRES_DB_URI from those values:
POSTGRES_DB_URI=postgres://hoopuser:<passwd>@<db-host>:5432/hoopdb
Chart configuration
Everything underconfig maps to an environment variable — see Environment Variables for the full list.
Authentication
Authentication is local by default. The Control Plane manages users and passwords itself and signs its own JWT access tokens, so the minimum configuration is a database and a public address:TLS
SetTLS_KEY and TLS_CERT to terminate TLS on the Control Plane.
The certificate file may carry the root and intermediate CAs as well. Order matters:
- Base64 encoded
- Path based
Bundled database
The chart can deploy Postgres as part of the installation.Persistence
Use SSD for large deployments — it speeds up I/O under concurrent load. This enables a 50GB persistent volume on AWS/EKS:Ingress
The Control Plane serves HTTP/8009. That is the port the web app uses and the port Sidecars reach.- AWS ALB
- Nginx Ingress Controller
- GCP Classic ALB
The AWS Load Balancer Controller manages Elastic Load Balancers for a Kubernetes cluster.
1
Deploy the AWS Load Balancer Controller
2
Configure the ingress
Exposing it through a load balancer
If you prefer a Service over an Ingress,proxyService provisions one:
This setup requires TLS configured directly on the Control Plane.
Computing resources
The chart defaults to 1 vCPU and 1GB, which is enough to evaluate and nothing more. For production, allocate at least 4 vCPU and 8GB.Image
The latest version of every image is used by default. Pin it with theimage section:
Node selector
Schedules the pod onto nodes carrying adisktype=ssd label. See the Kubernetes documentation.
Tolerations
See taints and tolerations.Node affinity
See affinity and anti-affinity.Generating manifests
If you would rather apply manifests than run Helm, render them. This lets you diff a new chart version against your versioned files and see exactly what changed.Next
Connect a Sidecar
Issue a token, point a Sidecar at the server host, and confirm it picked up its configuration.