Core · Helm Chart
Deploy RavHub Core with Helm
When to choose this path
Use this guide if you already operate on Kubernetes and want to manage RavHub with Helm.
Prerequisites
- a working Kubernetes cluster
- Helm available
- a compatible
StorageClassor PVC strategy - image pull credentials for
registry.ravhub.appif your registry requires them
Image and edition selection
- registry:
registry.ravhub.app - Core repository:
ravhub-core - recommended tag:
0.1.0 - Core mode in the chart:
license.enabled=false
Exact steps
1. Create the namespace
bash
kubectl create namespace ravhub2. Add the Helm repository and inspect default values
bash
helm repo add ravhub https://repo.ravhub.app/repository/ravhub-charts
helm repo update
helm show values ravhub/ravhub > values.yaml3. Edit the values file
Using the values.yaml you downloaded, edit the fields needed for your deployment.
Values you can keep as-is
yaml
license:
enabled: false
storage:
type: filesystem
postgresql:
enabled: true
redis:
enabled: false
service:
type: ClusterIPValues you should always review
| Field | Description |
|---|---|
image.tag | Release version to deploy (e.g. 0.1.0) |
auth.jwt.secret | Replace with a secret value |
ingress.hosts[].host | Your public domain |
persistence.size | Artifact storage space |
api.host | Your public domain for UI URLs |
4. Install the release
bash
helm install ravhub ravhub/ravhub \
--namespace ravhub \
-f values-core.yaml5. Verify the deployment
bash
helm ls -n ravhub
kubectl get pods -n ravhub
kubectl get ingress -n ravhubKey values to review
Image and license
| Field | Typical value | Why it matters |
|---|---|---|
global.imageRegistry | "" | Overrides registry for ALL images (RavHub + Bitnami subcharts). |
image.tag | 0.1.0 | Pins the exact release you deploy. |
license.enabled | false | Keeps the release in Core mode. |
Access and ingress
| Field | Typical value | Why it matters |
|---|---|---|
service.type | ClusterIP | Common default behind an ingress controller. |
ingress.enabled | true | Publishes the web entry point. |
ingress.hosts | packages.example.com | Defines the public host clients will use. |
ingress.tls | configured or empty | Controls TLS at ingress level. |
API and UI URLs
| Field | Typical value | Why it matters |
|---|---|---|
api.host | "repo.ravhub.app" | Public domain shown in install command hints. |
api.protocol | https | Protocol for install commands. |
Storage and database
| Field | Typical value | Why it matters |
|---|---|---|
storage.type | filesystem | Core must stay on filesystem. |
persistence.size | 50Gi | Defines artifact storage capacity. |
postgresql.enabled | true | Starts the embedded PostgreSQL subchart. |
redis.enabled | false | Fine for a single replica baseline deployment. |
Rules and dependencies
license.enabled=falsekeeps the release in Core mode.- If
postgresql.enabled=false, you must provide external database settings. - If
storage.typeis notfilesystem, the deployment no longer matches Core. - If you increase
replicaCountabove1, shared storage and Redis become strongly recommended.
How to validate it
- all pods are
RunningorCompleted - the ingress exposes the expected host
- the UI opens on the configured domain
- the instance starts as Core, not Enterprise
Common issues
The chart installs but the UI does not open
Check ingress.enabled, ingress.className, and ingress.hosts.
Pods restart because of authentication problems
Check auth.jwt.secret.
The PVC does not bind
Check persistence.size, persistence.storageClass, and cluster storage support.
The release behaves like Enterprise
Check that license.enabled is still false.
Next step
Continue with Client usage.