Skip to content

Installation

Retour can be deployed via Kustomize or Helm. For local development (minikube, Tilt), see the main README.

Production Deployment

# Install with default values (includes CRDs, operator, postgres)
helm install retour deployment/helm/retour -n retour --create-namespace

# Install with production values (private registry, image tags)
helm install retour deployment/helm/retour -n retour --create-namespace \
  -f deployment/helm/retour/values-production.yaml

Option B: Kustomize

# Production minimal (operator + postgres + dex only; operator creates workers on demand)
kubectl apply -k deployment/kustomize/overlays/production-minimal

# Production full (operator, worker, carrier, postgres, minio, ui, dex)
kustomize build deployment/kustomize/overlays/production | kubectl apply -f -

# Production without tracing (if no OTel collector)
kustomize build deployment/kustomize/overlays/production-without-tracing | kubectl apply -f -

Configure Database (UI deployments only)

If you deploy the UI, ensure PostgreSQL is running and the connection details are set in the deployment (ConfigMap postgres-connection-env, Secret postgres-secret). Postgres only holds UI settings and Dex/SSO state — backups and restores don't depend on it, so an operator-only install needs no database.

Create Storage Backend

Create at least one StorageBackend CR before running backups. See Storage Backend Examples.

Verify Installation

# Check operator is running
kubectl get pods -n retour -l app.kubernetes.io/name=operator

# Check CRDs are installed
kubectl get crd | grep retour.thebackup.company

# List backups (should be empty initially)
kubectl get backups -A