ArgoCD Deployment: PostgreSQL ServiceBindings Incompatibility
Issue:
The orchestrator chart uses the PostgreSQL chart's serviceBindings functionality to share database credentials. The PostgreSQL chart implements this feature using Helm's lookup() function, which is not supported by ArgoCD's server-side rendering. This prevents successful deployment when using ArgoCD.
Impact:
- ArgoCD deployments fail with password authentication errors
- Database creation jobs fail silently
- SonataFlow services cannot connect to PostgreSQL
Workaround:
To deploy with ArgoCD, apply the following configuration:
1. Disable serviceBindings:
upstream:
postgresql:
serviceBindings:
enabled: false
2. Create a pre-existing secret with the name <release-name>-postgresql-svcbind-postgres containing:
apiVersion: v1
kind: Secret
metadata:
name: <release-name>-postgresql-svcbind-postgres
type: Opaque
data:
username: <base64-encoded-username> # e.g., "postgres"
password: <base64-encoded-password>
postgres-password: <base64-encoded-password> # Same as password
3. Configure the chart to use the existing secret:
upstream:
postgresql:
auth:
existingSecret: <release-name>-postgresql-svcbind-postgres
secretKeys:
adminPasswordKey: password
Related Issues:
-
https://github.com/argoproj/argo-cd/issues/5202