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.
kubectlconfigured to access your cluster.
Step 1 — Add the Helm repository
helm repo add altcha-org https://altcha-org.github.io/helm-charts
helm repo updateThe chart source is at altcha-org/helm-charts.
Step 2 — Install the chart
A minimal install:
helm install altcha-sentinel altcha-org/sentinelFor 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:
| Value | Purpose |
|---|---|
image.tag | Sentinel version to deploy — see Releases. |
service.type | ClusterIP, NodePort, or LoadBalancer. |
ingress.enabled / ingress.hosts | Expose Sentinel through an Ingress controller. |
persistence.enabled / persistence.size | Persistent storage for Sentinel's data. |
resources.requests / resources.limits | CPU/memory requests and limits for the pod. |
env | Extra 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.yamlStep 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.yamlScale 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
- Configure — set up your first Security Group and API Key.
- Reverse Proxy — HTTPS termination if not handled by your Ingress controller.
- Monitoring & Logging — track Sentinel's health once it's live.