Proposal: Guard or Validate Secondary Configuration Requirements
We currently have some configuration items which, when enabled, require another field to be set.
One example is noted here: gitlab-org/omnibus-gitlab#4221 (closed); where gitlab_pages['enable'] = true
also requires pages_external_url
.
Proposal:
Create a configuration doctor for both charts and omnibus which validate these settings with known business logic. It could be implemented as a module that validates specific fields and can be plugged into gitlab-ctl reconfigure
as well as a stand alone configuration validator.
Benefits:
- Administrators can validate configuration changes before deployment
- Configuration changes could be gated by DevOps tooling
- Prevents accidentally downtime / broken upgrades