Enable or disable the built-in PostgreSQL subchart deployment.Values:
true- Deploy PostgreSQL as a StatefulSet in the clusterfalse- Use external PostgreSQL database
- PostgreSQL StatefulSet with 1 replica
- PersistentVolumeClaim for data storage
- ClusterIP Service at
<fullname>-postgres:5432 - Automatic
DB_HOSTenvironment variable configuration
envVars.DB_HOSTenvVars.DB_PORTenvVars.DB_USERenvVars.POSTGRES_DBenvVars.POSTGRES_CABLE_DBsecrets.DB_PASSWORD
Use Cases:
- Development environment reset
- Testing clean installations
- Never use in production
Override the full name used for PostgreSQL resources.Purpose: Controls the naming of PostgreSQL StatefulSet, Service, and other resources.Default:
"crewai-postgres"Impact:- Service DNS name:
<fullnameOverride>.namespace.svc.cluster.local - StatefulSet name:
<fullnameOverride> - PVC name:
data-<fullnameOverride>-0
- Deploying multiple PostgreSQL instances in same namespace
- Specific naming requirements
- Avoiding name conflicts
Container registry hosting the PostgreSQL image.Default:
"" (empty) - Automatically uses global.imageRegistry valueFallback Behavior:When postgres.image.host is empty or not set, the chart uses global.imageRegistry via the crewai-platform.postgresImageRegistry template helper. This allows you to configure the registry once at the global level.When imageNamePrefixOverride is Set:The image name is automatically simplified:- Original:
proxy/crewai/dockerhub/library/postgres - With
imageNamePrefixOverride: "crewai/"becomes:crewai/postgres
PostgreSQL container image name.Default:
"proxy/crewai/dockerhub/library/postgres" - Matches Replicated proxy path structurePath Transformation:When global.imageNamePrefixOverride is set, only the final component (postgres) is used with the override prefix.PostgreSQL version to deploy.Supported Version: PostgreSQL 16Upgrade Consideration: PostgreSQL major version upgrades require data migration. Do not change this value without planning for database migration.
Image pull policy for PostgreSQL container.
Image pull secret for PostgreSQL image. If empty, uses the global
image.pullSecret.Name of the primary PostgreSQL database created during initialization.
Name of the ActionCable database for WebSocket connections.Purpose: Rails ActionCable uses a separate database for pub/sub operations to isolate real-time communication from primary data operations.
Name of the Built-in Integrations service database for third-party integration token storage.Purpose: The Built-in Integrations service uses a separate database to store encrypted OAuth tokens for third-party integrations (Gmail, Google Calendar, Microsoft Outlook, etc.).Auto-Creation: When
postgres.enabled: true and oauth.enabled: true, this database is automatically created during PostgreSQL initialization via an init script.Database Isolation: OAuth tokens are stored separately from the main application data for security and isolation.Default: "oauth_db"Related Configuration:- Built-in Integrations service: See CrewAI Built-in Integrations Reference
- OAuth secrets: See Secrets Reference - Built-in Integrations Secrets
Size of the persistent volume for PostgreSQL data.Sizing Guidelines:
- Small deployment (< 100 users): 10-20Gi
- Medium deployment (100-500 users): 50-100Gi
- Large deployment (> 500 users): 100Gi+
PersistentVolume reclaim policy when the PVC is deleted.Valid Values:
"keep"- Retain volume data after PVC deletion (recommended)"delete"- Delete volume data when PVC is deleted
Kubernetes StorageClass to use for the persistent volume.Common Values:
""- Use default StorageClass"gp3"- AWS EBS GP3 volumes"managed-premium"- Azure Premium SSD"standard-rwo"- GKE Standard persistent disk
postgres.resources.*
Resource limits and requests for PostgreSQL container.
CPU limit for PostgreSQL pod.Sizing Guidelines:
- Small deployment:
"1" - Medium deployment:
"2" - Large deployment:
"4"or higher
Memory limit for PostgreSQL pod.Sizing Guidelines:
- Small deployment:
"2Gi" - Medium deployment:
"4Gi" - Large deployment:
"8Gi"or higher
Guaranteed CPU allocation for PostgreSQL pod.
Guaranteed memory allocation for PostgreSQL pod.
Kubernetes node selector for PostgreSQL pod placement.Example:Use Cases:
- Pin database to specific nodes with fast local storage
- Ensure database runs in specific availability zones
- Separate database workload from application workload
