Skip to content

Latest commit

 

History

15 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rubra

Deploy — Helm chart for deploying rubra-server on Kubernetes.

License Helm OCI


Testing this chart for real (no cloud cluster needed)

./scripts/test-in-kind.sh

This builds the actual rubra-server Dockerfile, loads it into a throwaway kind (Kubernetes-in-Docker) cluster, installs this chart via Helm, waits for a healthy rollout, and port-forwards it to localhost:8000 — a genuine end-to-end deployment test with no image registry or real cluster required. Needs docker, kind, helm, and kubectl, which the rubra-server devcontainer/Codespace installs automatically.


Install

From the OCI registry (recommended)

helm install rubra oci://ghcr.io/pm1715/charts/rubra --version 0.1.3

From source

git clone https://github.com/pm1715/rubra-deploy
cd rubra-deploy
helm install rubra ./helm/rubra

This deploys rubra-server with a ClusterIP service, a persistent volume for SQLite, and liveness/readiness probes against /api/v1/health.

To reach it locally:

kubectl port-forward svc/rubra 8000:8000

Configuration

Key values in helm/rubra/values.yaml:

Value Default Description
image.repository ghcr.io/pm1715/rubra-server Server image
image.tag 0.1.0 Image tag
replicaCount 1 Pod replicas
service.type ClusterIP Change to LoadBalancer for external access
ingress.enabled false Set true and configure ingress.hosts to expose via Ingress
persistence.enabled true Persistent volume for SQLite storage
persistence.size 5Gi PVC size
env.RUBRA_DATABASE_URL unset (SQLite) Set to a PostgreSQL URL for multi-replica deployments — SQLite does not support concurrent writers across pods
secrets.apiKeySecretName "" Name of a Kubernetes Secret holding RUBRA_API_KEY; leave empty to run in open dev mode

Override with --set or a custom values file:

helm install rubra ./helm/rubra \
  --set replicaCount=2 \
  --set env.RUBRA_DATABASE_URL="postgresql://rubra:rubra@postgres:5432/rubra" \
  --set persistence.enabled=false

Enabling the API key

kubectl create secret generic rubra-api-key --from-literal=api-key=<your-key>
helm upgrade rubra ./helm/rubra --set secrets.apiKeySecretName=rubra-api-key

Enabling Ingress

helm upgrade rubra ./helm/rubra \
  --set ingress.enabled=true \
  --set ingress.hosts[0].host=rubra.yourdomain.com

Uninstall

helm uninstall rubra

The PVC is not deleted automatically (Helm default) — remove it manually if you want to drop stored traces:

kubectl delete pvc -l app.kubernetes.io/instance=rubra

Security & Code of Conduct

This repo follows the same Security Policy and Code of Conduct as rubra-sdk.

Author

Rubra was designed and built by Prayansh Mishra (@pm1715 · LinkedIn).

License

Apache 2.0 — see LICENSE.

About

Helm chart for deploying rubra-server on Kubernetes

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages