Deploy Backend Services
Backend services are deployed via Helm. This guide covers verification and configuration.
Deploy Backend Services
Backend services are automatically deployed via the oriso-platform Helm umbrella chart. This guide covers verification and post-deployment configuration.
All backend services are deployed via Helm in a single command:
helm install oriso-platform ./oriso-platform --namespace caritas -f values.yamlThis guide assumes services are already deployed. If not, see Deploy Infrastructure.
Verify all backend services are deployed and running.
# Check all backend service pods
kubectl get pods -n caritas | grep -E "tenant|user|consulting|agency"
# Should see:
# oriso-platform-tenantservice-xxx 1/1 Running
# oriso-platform-userservice-xxx 1/1 Running
# oriso-platform-consultingtypeservice-xxx 1/1 Running
# oriso-platform-agencyservice-xxx 1/1 RunningAll services should show status Running and 1/1 ready. If any are not running, check logs:
kubectl logs -n caritas deployment/oriso-platform-userservice --tail=100Check health endpoints for all backend services.
# Check TenantService (port 8081)
kubectl exec -n caritas deployment/oriso-platform-tenantservice -- \
curl -s http://localhost:8081/actuator/health
# Check UserService (port 8082)
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
curl -s http://localhost:8082/actuator/health
# Check ConsultingTypeService (port 8083)
kubectl exec -n caritas deployment/oriso-platform-consultingtypeservice -- \
curl -s http://localhost:8083/actuator/health
# Check AgencyService (port 8084)
kubectl exec -n caritas deployment/oriso-platform-agencyservice -- \
curl -s http://localhost:8084/actuator/health
# Or check via Ingress (after Ingress is deployed)
curl -s https://api.oriso.org/actuator/healthAll services should return: {"status":"UP"} or detailed health information.
Verify services can communicate with each other via Kubernetes DNS.
# Test UserService can reach TenantService
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
curl -s http://oriso-platform-tenantservice.caritas.svc.cluster.local:8081/actuator/health
# Test AgencyService can reach UserService
kubectl exec -n caritas deployment/oriso-platform-agencyservice -- \
curl -s http://oriso-platform-userservice.caritas.svc.cluster.local:8082/actuator/healthServices should be able to reach each other. If not, check:
- Service DNS names are correct
- Services are in the same namespace
- Network policies (if any) allow communication
Verify all services can connect to their databases.
# Check service environment variables
kubectl get deployment oriso-platform-userservice -n caritas -o yaml | \
grep -A 3 DATASOURCE
# Test database connection from service
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
env | grep DATASOURCEServices should have database connection strings pointing to:
oriso-platform-mariadb.caritas.svc.cluster.local:3306oriso-platform-mongodb.caritas.svc.cluster.local:27017(for ConsultingTypeService)
Backend Services Overview
TenantService
- Port: 8081
- Service:
oriso-platform-tenantservice.caritas.svc.cluster.local:8081 - Database: MariaDB (tenantservice)
- Health:
/actuator/health
UserService
- Port: 8082
- Service:
oriso-platform-userservice.caritas.svc.cluster.local:8082 - Database: MariaDB (userservice)
- Health:
/actuator/health - Special: Matrix integration
ConsultingTypeService
- Port: 8083
- Service:
oriso-platform-consultingtypeservice.caritas.svc.cluster.local:8083 - Databases: MariaDB (consultingtypeservice) + MongoDB (consulting_types)
- Health:
/actuator/health
AgencyService
- Port: 8084
- Service:
oriso-platform-agencyservice.caritas.svc.cluster.local:8084 - Database: MariaDB (agencyservice)
- Health:
/actuator/health
Service Configuration
Environment Variables
Services are configured via Helm values. Check configuration:
# View service configuration
helm get values oriso-platform -n caritas
# View specific service deployment
kubectl get deployment oriso-platform-userservice -n caritas -o yamlDatabase Connections
All services connect via Kubernetes DNS:
jdbc:mariadb://oriso-platform-mariadb.caritas.svc.cluster.local:3306/<database-name>Liquibase Status
Liquibase is DISABLED in all services. Schemas are managed in ORISO-Database repository.
Troubleshooting
Service Not Starting
# Check pod status
kubectl describe pod -n caritas <pod-name>
# Check logs
kubectl logs -n caritas deployment/oriso-platform-userservice --tail=100
# Check events
kubectl get events -n caritas --sort-by='.lastTimestamp' | grep userserviceDatabase Connection Failures
# Verify database is accessible
kubectl exec -n caritas deployment/oriso-platform-mariadb -- \
mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "SELECT 1;"
# Check service database credentials
kubectl get secret mariadb-secrets -n caritas -o yaml
# Test connection from service pod
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
curl http://oriso-platform-mariadb.caritas.svc.cluster.local:3306Health Check Failures
# Check health endpoint directly
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
curl -v http://localhost:8082/actuator/health
# Check service logs for errors
kubectl logs -n caritas deployment/oriso-platform-userservice | grep -i errorNext Steps
- Deploy Frontend - Deploy frontend applications
- Post-Deployment - Complete post-deployment steps
- Verification Testing - Test all services