Enable Container Registry database backups in Cloud Native GitLab
## Summary Enable the toolbox pod to access Container Registry database credentials for backup operations in Cloud Native GitLab installations. Leverage existing registry configmap and secrets to pass credentials to the backup utility. ## Implementation Proposal ### 1. Credential Access The toolbox pod needs access to registry database credentials currently stored in: - **ConfigMap:** Non-sensitive registry configuration from `registry.database` chart values - **Secret:** Sensitive credentials (password) Reference: https://docs.gitlab.com/charts/charts/registry/metadata_database/#enable-for-new-registries ### 2. Environment Variable Mapping Set environment variables on the toolbox pod from registry configmap and secrets: - `REGISTRY_DATABASE_HOST` ← from registry configmap - `REGISTRY_DATABASE_PORT` ← from registry configmap - `REGISTRY_DATABASE_NAME` ← from registry configmap - `REGISTRY_DATABASE_USER` ← from registry configmap - `REGISTRY_DATABASE_PASSWORD` ← from registry secret - `REGISTRY_DATABASE_SSLMODE` ← from registry configmap **Goal:** Environment variables should match what `gitlab-rake gitlab:backup:db:*` expects, requiring **no changes** to the `backup-utility` script. ### 3. Toolbox Pod Configuration Update `charts/gitlab/charts/toolbox` to: - Mount registry configmap as environment variables - Mount registry secret for database password - Ensure credentials are available during backup operations ### 4. Monitoring & Alerting - Add registry database backup status to toolbox pod logs - Create alerts for registry database backup failures - Include registry DB in backup health metrics ## Chart Values Example ```yaml registry: database: enabled: true host: registry-database port: 5432 user: registry database: registry password: secret: registry-database-password key: password sslmode: require ``` ## Exit Criteria - [ ] Toolbox pod has access to registry database credentials - [ ] Environment variables correctly set from configmap and secrets - [ ] Backup operations include registry database without script changes - [ ] Monitoring and alerting configured - [ ] Tested in staging environment - [ ] Documentation updated for chart configuration ## Related - Parent epic: gitlab-com/gl-infra/data-access/durability#45 - GitLab backup tool changes: gitlab-org/gitlab (to be linked)
issue