Skip to content

feat: add external database support and bump chart version to 0.7.0#33

Merged
binlab merged 1 commit intomainfrom
feat/lc-external-db-support
Mar 3, 2026
Merged

feat: add external database support and bump chart version to 0.7.0#33
binlab merged 1 commit intomainfrom
feat/lc-external-db-support

Conversation

@binlab
Copy link
Contributor

@binlab binlab commented Mar 3, 2026

📝 Description

This PR introduces the ability to use an external database (PostgreSQL) for both lifecycle and keycloak components. Previously, the system relied solely on internal database containers.

With these changes, users can now connect to managed database services (e.g., AWS RDS, Azure Database for PostgreSQL, Cloud SQL) or existing standalone database instances by configuring the externalDatabase block in values.yaml.

🚀 Key Changes

1. External Database Integration

Updated the deployment templates to inject database connection parameters via environment variables when an external DB is enabled:

  • Connectivity: Support for custom host, port, and database name.
  • Secure Authentication: Integrated secretKeyRef support for APP_DB_PASSWORD, allowing passwords to be sourced from existing Kubernetes Secrets rather than plain text.
  • Environment Variables: New variables injected into the containers: APP_DB_HOST, APP_DB_PORT, APP_DB_USER, APP_DB_NAME, and APP_DB_PASSWORD.

2. Configuration Schema (values.yaml)

Added standardized configuration blocks (disabled by default):

  • externalDatabase.enabled: Toggle to switch between internal and external DB logic.
  • Defined default schemas for lifecycle and keycloak including host, port, database, username, and password.secretKeyRef structures.

3. Versioning

  • Bumped the main lifecycle chart version from 0.6.0 to 0.7.0.
  • Updated the lifecycle-keycloak dependency alias to version 0.7.0.

🛠 Configuration Example

To enable an external database, update your values.yaml as follows:

externalDatabase:
  enabled: true
  host: "postgres.external.domain"
  port: 5432
  database: "app_db"
  username: "db_admin"
  password:
    secretKeyRef:
      name: "my-db-secret"
      key: "postgres-password"

✅ Checklist

  • External DB logic implemented in lifecycle templates.
  • External DB logic implemented in keycloak sub-chart configuration.
  • Verified secretKeyRef mapping for sensitive credentials.
  • Performed version bump for parent and child charts (v0.7.0).
  • Default values added to values.yaml for clear documentation.

@binlab binlab merged commit a98eab6 into main Mar 3, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants