CNPG Database Sub-Component

What This Creates

Database - PostgreSQL database
Role - Database user with password
Grants - Permission assignments
Secret - K8s secret with credentials

Required Attributes

database - Database name (default: sub-component name)
username - Database user

Optional Attributes

password - User password (auto-generated if empty)
cnpg_permissions - SQL grant statements
rotation_db - Enable password rotation

Link Automations

image_base-db - Injects DATABASE_URL into app
external_source_code-db - Injects DATABASE_URL
langflow-db - Sets LANGFLOW_DATABASE_URL
airflow-db - Sets Airflow metadata DB
keda-db - Enables PostgreSQL-based autoscaling

Generated ENV Variables (by framework_type)

spring: SPRING_DATASOURCE_URL, SPRING_DATASOURCE_USERNAME, SPRING_DATASOURCE_PASSWORD
python/nodejs/rails: DATABASE_URL (connection string)
laravel: DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, DB_PASSWORD
generic: POSTGRES_HOST, POSTGRES_PORT, POSTGRES_DB, POSTGRES_USER, POSTGRES_PASSWORD