ORISO Dokumentation
Configuration & Testing

Verification & Testing

Complete verification using kubectl and Helm commands, test all services via Ingress, and verify Kubernetes deployment

Verification & Testing

Comprehensive testing guide to verify ORISO Platform v3.0.0 is functioning correctly on Kubernetes.

Check all pods, services, and Helm release status.

# Check all pods
kubectl get pods -n caritas

# Check Helm release
helm list -n caritas
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

# Count running pods
kubectl get pods -n caritas --no-headers | grep Running | wc -l
# Should be 20+ pods
  • All pods should be Running
  • Helm release should show deployed status
  • Services should be created with oriso-platform-* prefix
  • Ingress resources should be created
  • Certificates should be Ready=True

Test health endpoints for all backend services.

# Test via Ingress (external)
curl -s https://api.oriso.org/actuator/health | jq .

# Or test internally
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
  curl -s http://localhost:8082/actuator/health

# Test all backend services
for service in tenantservice userservice consultingtypeservice agencyservice; do
  echo "Testing $service..."
  kubectl exec -n caritas deployment/oriso-platform-$service -- \
    curl -s http://localhost:808*/actuator/health | jq .status
done

All services should return {"status":"UP"} or detailed health information.

Verify frontend applications are accessible via Ingress.

# Test Frontend
curl -I https://app.oriso.org

# Test Admin
curl -I https://admin.oriso.org

# Check Ingress routing
kubectl describe ingress -n caritas | grep -A 5 "app.oriso.org"

Both endpoints should return HTTP 200 OK.

Verify Keycloak authentication is working.

# Test Keycloak realm discovery
curl -s https://auth.oriso.org/realms/online-beratung/.well-known/openid-configuration | jq .realm

# Test token endpoint
curl -X POST "https://auth.oriso.org/realms/online-beratung/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=app" \
  -d "username=testuser" \
  -d "password=testpass" \
  -d "grant_type=password" | jq .
  • Realm discovery should return "online-beratung"
  • Token endpoint should return access_token and refresh_token

Test backend API endpoints with authentication.

# Get access token first
ACCESS_TOKEN=$(curl -s -X POST "https://auth.oriso.org/realms/online-beratung/protocol/openid-connect/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id=app" \
  -d "username=testuser" \
  -d "password=testpass" \
  -d "grant_type=password" | jq -r .access_token)

# Test API endpoints via Ingress
curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  https://api.oriso.org/api/tenants | jq .

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
  https://api.oriso.org/api/users/data | jq .

APIs should return JSON data with HTTP 200 OK status.

Verify Matrix Synapse is operational.

# Test Matrix API
curl -s https://matrix.oriso.org/_matrix/client/versions | jq .

# Test Matrix discovery
curl -s http://91.99.219.182/.well-known/matrix/server | jq .

# Test Matrix federation
curl -s http://91.99.219.182:8009/_matrix/federation/v1/version | jq .
  • Matrix API should return version information
  • Discovery should return server configuration
  • Federation API should respond

Verify all services can connect to databases.

# Test MariaDB connection from service
kubectl exec -n caritas deployment/oriso-platform-userservice -- \
  env | grep DATASOURCE

# Test MariaDB directly
kubectl exec -n caritas deployment/oriso-platform-mariadb -- \
  mysql -u root -p${MYSQL_ROOT_PASSWORD} -e "SHOW DATABASES;"

# Test MongoDB
kubectl exec -n caritas deployment/oriso-platform-mongodb -- \
  mongosh --eval "show dbs"
  • Services should have correct database connection strings
  • Databases should be accessible
  • All databases should be listed

Verify services can communicate 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 DNS resolution
kubectl run test-pod --rm -it --image=busybox -n caritas -- \
  nslookup oriso-platform-userservice.caritas.svc.cluster.local
  • Services should be able to reach each other
  • DNS resolution should work correctly

Complete Verification Checklist

  • All pods are running (kubectl get pods -n caritas)
  • Helm release is deployed (helm status oriso-platform -n caritas)
  • All services are created (kubectl get svc -n caritas)
  • Ingress resources are created (kubectl get ingress -n caritas)
  • TLS certificates are issued (kubectl get certificate -n caritas)
  • Frontend is accessible (curl -I https://app.oriso.org)
  • Admin is accessible (curl -I https://admin.oriso.org)
  • API is accessible (curl -I https://api.oriso.org)
  • Keycloak is accessible (curl -I https://auth.oriso.org)
  • Matrix is accessible (curl -I https://matrix.oriso.org)
  • Health endpoints return UP (curl https://api.oriso.org/actuator/health)
  • Authentication works (token endpoint returns tokens)
  • Backend APIs work (with authentication)
  • Database connections work (services can connect)
  • Service communication works (DNS resolution)

Troubleshooting

Pods Not Running

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

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

# Check events
kubectl get events -n caritas --sort-by='.lastTimestamp'

Services Not Accessible

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

# Check Ingress resources
kubectl describe ingress -n caritas

# Check DNS resolution
dig app.oriso.org

Health Checks Failing

# Check service logs
kubectl logs -n caritas deployment/oriso-platform-<service>

# Test health endpoint directly
kubectl exec -n caritas deployment/oriso-platform-<service> -- \
  curl http://localhost:808*/actuator/health

Next Steps

Auf dieser Seite