boolean
default:"false"
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_DBenvVars.POSTGRES_OAUTH_DBsecrets.DB_PASSWORD
wharf by default). See the AWS or GCP guides for provider-specific instructions.boolean
default:"false"
Use Cases:
- Development environment reset
- Testing clean installations
- Never use in production
string
default:"crewai-postgres"
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
string
default:""
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
string
default:"proxy/crewai/dockerhub/library/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.string
default:"16"
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.
string
default:"IfNotPresent"
Image pull policy for PostgreSQL container.
string
default:""
Image pull secret for PostgreSQL image. If empty, uses the global
image.pullSecret.string
default:"crewai_plus_production"
Name of the primary PostgreSQL database created during initialization.
string
default:"crewai_plus_cable_production"
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.
string
default:"oauth_db"
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
string
default:"wharf"
Name of the Wharf OTLP trace collector database for distributed tracing data storage.Purpose: The Wharf service uses a separate database to store OpenTelemetry traces and spans for application observability.Auto-Creation: When
postgres.enabled: true and wharf.enabled: true, this database is automatically created during PostgreSQL initialization via an init script and before the Wharf service starts.Database Isolation: Trace data is stored separately from the main application data to isolate observability workloads and manage retention independently.Default: "wharf"Related Configuration:- Wharf service: See Wharf OTLP Trace Collector Reference
- Wharf secrets: See Secrets Reference - Wharf Secrets
string
default:"cube"
Name of the Cube analytics database for cost tracking and execution analytics.Purpose: The Cube service uses a separate database to store analytics data, including provider usage metrics, cost tracking, and execution statistics.Auto-Creation: When
postgres.enabled: true and cube.enabled: true, this database is automatically created during PostgreSQL initialization via an init script and before the Cube service starts.Database Isolation: Analytics data is stored separately from the main application data to isolate analytics workloads and manage retention independently.Default: "cube"Related Configuration:- Cube service: See Cube Analytics Reference
- Cube secrets: See Secrets Reference - Cube Analytics Secrets
string
default:"10Gi"
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+
string
default:"keep"
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
string
default:""
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.
string
default:"1"
CPU limit for PostgreSQL pod.Sizing Guidelines:
- Small deployment:
"1" - Medium deployment:
"2" - Large deployment:
"4"or higher
string
default:"2Gi"
Memory limit for PostgreSQL pod.Sizing Guidelines:
- Small deployment:
"2Gi" - Medium deployment:
"4Gi" - Large deployment:
"8Gi"or higher
string
default:"500m"
Guaranteed CPU allocation for PostgreSQL pod.
string
default:"1Gi"
Guaranteed memory allocation for PostgreSQL pod.
object
default:"{}"
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
