Skip to main content

Install on Kubernetes

Kubernetes gives you enterprise-grade orchestration for Sentinel — flexible scaling, high availability, and a consistent deployment model across cloud, hybrid, or on-premises clusters. It's the recommended target if you're already running production workloads on k8s.

Prerequisites

  • An operational Kubernetes cluster.
  • Helm installed.
  • kubectl configured to access your cluster.

Step 1 — Add the Helm repository

helm repo add altcha-org https://altcha-org.github.io/helm-charts
helm repo update

The chart source is at altcha-org/helm-charts.

Step 2 — Install the chart

A minimal install:

helm install altcha-sentinel altcha-org/sentinel

For a production install with a specific version, ingress, and persistent storage:

helm install altcha-sentinel altcha-org/sentinel \
  --namespace sentinel \
  --create-namespace \
  --set image.tag="1.0.0" \
  --set service.type=LoadBalancer \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host=sentinel.yourdomain.com \
  --set persistence.enabled=true \
  --set persistence.size="20Gi"

Commonly used values:

ValuePurpose
image.tagSentinel version to deploy — see Releases.
service.typeClusterIP, NodePort, or LoadBalancer.
ingress.enabled / ingress.hostsExpose Sentinel through an Ingress controller.
persistence.enabled / persistence.sizePersistent storage for Sentinel's data.
resources.requests / resources.limitsCPU/memory requests and limits for the pod.
envExtra environment variables, as a list — see ENV Variables.

Extra environment variables can also be set via a values.yaml file — this is also how you point Sentinel at the networked database and Redis it needs once you're running more than the embedded default (see Databases):

env:
  - name: LOG_LEVEL
    value: "debug"
  - name: POSTGRES_URL
    value: "postgresql://user:password@your-db-host:5432/altcha_sentinel"
helm install altcha-sentinel altcha-org/sentinel -f values.yaml

Step 3 — Access the application

Once deployed, Sentinel is reachable at the address determined by your service.type / ingress configuration:

  • Web interface: http://<service-ip>:8080
  • API: http://<service-ip>:8080/v1
  • API documentation: http://<service-ip>:8080/v1/docs

Sign in with the default credentials root / root and change the password immediately.

Production configuration

Production deployments should run multiple replicas for high availability, which needs four variables set identically on every pod:

env:
  - name: SECRET_SEED
    value: "<a long random string, identical on every node>"
  - name: LICENSE_KEY
    value: "<license key>"
  - name: POSTGRES_URL
    value: "postgresql://user:password@your-db-host:5432/altcha_sentinel"
  - name: REDIS_URL
    value: "redis://default@your-redis-host:6379"
helm install altcha-sentinel altcha-org/sentinel \
  --namespace sentinel \
  --create-namespace \
  -f values.yaml

Scale to multiple replicas with --set replicaCount=3 (or the equivalent field in values.yaml) once these are set — see the chart's values reference for the exact field name.

In production, prefer mounting these through Kubernetes Secrets and referencing them with valueFrom.secretKeyRef rather than putting them in values.yaml directly — or use any _FILE variant (e.g. SECRET_SEED_FILE) to point at a mounted secret file instead.

See Clustering for what each variable does and how Sentinel behaves if the database or Redis becomes unreachable.

Upgrading Sentinel

helm upgrade altcha-sentinel altcha-org/sentinel --set image.tag="1.2.3"

See Releases for available versions.

Next steps

Start typing to search...

Navigate Select