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
deployedstatus - 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
doneAll 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.orgHealth 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/healthNext Steps
- Post-Deployment - Complete post-deployment steps
- Troubleshooting - Common issues and solutions
- Quick Reference - Essential commands