Skip to main content

Deploy Infrastructure

Deploy the complete ORISO Platform infrastructure using Helm charts. All services are deployed via a single umbrella Helm chart.
ORISO Platform v3.0.0 uses Helm charts for deployment. All 21 services are deployed via the oriso-platform umbrella chart in a single command.
1

Navigate to Helm Directory

Prepare the Helm deployment environment.
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/helm

# Verify Helm chart structure
ls -la oriso-platform/

# Check values file
ls -la values.yaml
You should see:
  • oriso-platform/ directory (umbrella chart)
  • values.yaml file (global values)
  • charts/ directory (sub-charts)
2

Update Helm Dependencies

Update Helm chart dependencies before deployment.
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/helm

# Navigate to umbrella chart
cd oriso-platform

# Update dependencies
helm dependency update

# Return to helm directory
cd ..
Dependencies should download successfully. Check for any errors in the output.
This downloads all sub-chart dependencies defined in oriso-platform/Chart.yaml.
3

Deploy Entire Platform

Deploy all services using the Helm umbrella chart.
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/helm

# Deploy entire platform
helm install oriso-platform ./oriso-platform \
  --namespace caritas \
  --create-namespace \
  -f values.yaml

# Monitor deployment
kubectl get pods -n caritas -w
This single command deploys:
  • Infrastructure: MariaDB, MongoDB, PostgreSQL, Redis, RabbitMQ
  • Authentication: Keycloak
  • Communication: Matrix Synapse, Element, Discovery
  • WebRTC: LiveKit
  • Backend: 4 microservices
  • Frontend: 2 applications
  • Monitoring: SignOZ, Health Dashboard (if enabled)
Total: 21 services
All pods should eventually reach Running state. This may take 5-10 minutes for all services to start.
4

Verify Deployment

Verify all services are deployed and running.
# Check all pods
kubectl get pods -n caritas

# Check Helm release
helm list -n caritas

# Check services
kubectl get svc -n caritas

# Check persistent volumes
kubectl get pvc -n caritas
Expected output:
  • Helm release oriso-platform should show deployed status
  • All pods should be Running (may take time for initial startup)
  • Services should be created with oriso-platform-* prefix
  • PVCs should be Bound
5

Deploy Ingress Resources

Deploy Kubernetes Ingress resources for external access.
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/ingress

# Deploy all Ingress resources
kubectl apply -f .

# Verify Ingress
kubectl get ingress -n caritas

# Check TLS certificates
kubectl get certificate -n caritas
This deploys 33 Ingress resources across 22 YAML files, providing:
  • External access to all services
  • TLS certificates via cert-manager
  • Path rewriting and CORS support
Ingress resources should be created. TLS certificates will be issued automatically by cert-manager (may take a few minutes).

Deployment Phases

The Helm chart deploys services in the following order:
  1. Infrastructure - Databases, cache, queue
  2. Authentication - Keycloak
  3. Communication - Matrix, Element, Discovery
  4. WebRTC - LiveKit
  5. Backend - 4 microservices
  6. Frontend - 2 applications
  7. Monitoring - SignOZ, Health Dashboard

Verification

After deployment, verify everything is working:
# Check all pods are running
kubectl get pods -n caritas

# Check Helm release status
helm status oriso-platform -n caritas

# Check services
kubectl get svc -n caritas

# Check Ingress
kubectl get ingress -n caritas

# Check TLS certificates
kubectl get certificate -n caritas

# Test endpoints (after DNS is configured)
curl -I https://app.oriso-dev.site
curl -I https://api.oriso-dev.site

Upgrading Deployment

To upgrade the deployment:
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/helm

# Update dependencies
cd oriso-platform
helm dependency update
cd ..

# Upgrade
helm upgrade oriso-platform ./oriso-platform \
  --namespace caritas \
  -f values.yaml

Rolling Back

If something goes wrong:
# List release history
helm history oriso-platform -n caritas

# Rollback to previous version
helm rollback oriso-platform -n caritas

# Or rollback to specific revision
helm rollback oriso-platform <revision-number> -n caritas

Troubleshooting

Pods Not Starting

# Check pod status
kubectl get pods -n caritas

# Check pod logs
kubectl logs -n caritas <pod-name>

# Check pod events
kubectl describe pod -n caritas <pod-name>

Helm Installation Fails

# Check Helm release
helm list -n caritas

# Check release status
helm status oriso-platform -n caritas

# View release values
helm get values oriso-platform -n caritas

# Check for errors
helm get manifest oriso-platform -n caritas | grep -i error

Services Not Accessible

# Check Ingress Controller
kubectl get pods -n ingress-nginx

# Check Ingress resources
kubectl get ingress -n caritas

# Check Ingress Controller logs
kubectl logs -n ingress-nginx -l app.kubernetes.io/component=controller

TLS Certificates Not Issued

# Check cert-manager
kubectl get pods -n cert-manager

# Check certificates
kubectl get certificate -n caritas
kubectl describe certificate <cert-name> -n caritas

# Check certificate requests
kubectl get certificaterequest -n caritas

Uninstalling

To uninstall the platform (data is preserved in PVCs):
# Uninstall Helm release
helm uninstall oriso-platform --namespace caritas

# Remove Ingress resources (optional)
cd ~/online-beratung/caritas-workspace/ORISO-Kubernetes/ingress
kubectl delete -f .

# Note: PVCs are retained by default
# To delete PVCs (WARNING: This deletes data):
kubectl delete pvc --all -n caritas
Uninstalling the Helm release does NOT delete PersistentVolumeClaims by default. Your data is preserved. Only delete PVCs if you want to remove all data.

Next Steps