Skip to content

feat(database): optional DB connection + db-manager provisioning#9

Draft
solovyovk wants to merge 1 commit into
mainfrom
db-manager-provisioning
Draft

feat(database): optional DB connection + db-manager provisioning#9
solovyovk wants to merge 1 commit into
mainfrom
db-manager-provisioning

Conversation

@solovyovk

@solovyovk solovyovk commented Jun 30, 2026

Copy link
Copy Markdown
Contributor

Jira: D0-359 — Extend wproofreader-helm with db-manager integration. Related: D0-358.

Draft — not for merge yet. Opened for review; the branch is what the WSC GitOps targetRevision currently points at.

What this adds

Two independent, opt-in concerns on the WProofreader chart (both fully inert when their toggles are false):

  • database — connection config for the DB service provider. When database.enabled, injects WPR_ENABLE_DATABASE_PROVIDER + WPR_DATABASE_* env into the AppServer (read directly at startup since WProofreader v6.0.0).
  • databaseProvisioning — provisions that database with db-manager (schema, migrations, appserver/app_manager users + grants) via a pre-install/pre-upgrade hook Job that runs before the AppServer pods start.

Details

  • One shared credentials Secret (pre-install hook when provisioning) or database.existingSecret; required-field guards for passwords.
  • db-manager image tag defaults to the chart appVersion, so it always carries the matching per-version schema migrations.
  • The MySQL server itself is not managed here; database.host points at an existing MySQL.
  • Default contexts=external,seed (client); values-dev.yaml uses internal,seed (the WSC-internal SID hierarchy app-manager needs).
  • Adds manifests/db-credentials-secret.yaml example + values-dev.yaml (excluded from the packaged chart via .helmignore).
  • Bumps chart to 1.4.0, appVersion 6.13.1.0.

Verification

Deployed end-to-end on minikube via ArgoCD: cloud_service provisioned (Liquibase, contexts internal,seed), AppServer healthy & licensed, app-manager signup FK satisfied.

Add two independent, opt-in concerns to the WProofreader chart:

- database: connection config for the database service provider. When
  database.enabled, injects WPR_ENABLE_DATABASE_PROVIDER + WPR_DATABASE_*
  env into the AppServer (read directly at startup since WProofreader v6.0.0).
- databaseProvisioning: provision that database with db-manager (schema,
  migrations, appserver/app_manager users + grants) via a pre-install/
  pre-upgrade hook Job that runs before the AppServer pods start.

Details:
- One shared credentials Secret (pre-install hook when provisioning) or
  database.existingSecret; required-field guards for passwords.
- db-manager image tag defaults to the chart appVersion so it always
  carries the matching per-version schema migrations.
- The MySQL server itself is not managed here; database.host points at an
  existing MySQL. Feature is fully inert when both toggles are false.
- Ship default contexts=external,seed (client).
- Add manifests/db-credentials-secret.yaml example.
- Bump chart to 1.4.0, appVersion to 6.13.1.0.
@solovyovk solovyovk force-pushed the db-manager-provisioning branch from 8fdf5c1 to 5d313f5 Compare June 30, 2026 14:39
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.

1 participant