Summary
The override system currently supports 5 resource sections: namedValues, backends, apis, diagnostics, and loggers. Several other top-level resource types that commonly differ between environments are missing override support.
Missing override sections (prioritized)
High priority
- Subscriptions — different scope/keys per environment
- Gateways — different gateway configurations per environment (e.g., self-hosted gateway endpoints)
- Products — different approval settings, quotas, or subscription limits per environment
Lower priority (may not need overrides in practice)
- PolicyFragments — could need env-specific policy content
- PolicyRestrictions — could need env-specific config
- ServicePolicy — could need env-specific policy content
What needs to change
For each new section:
- Add an
XxxOverride interface in src/models/config.ts
- Add the section field to
OverrideConfig
- Add a
case ResourceType.Xxx in src/services/override-merger.ts
- Add the section name to
normalizeOverrideSection() in src/lib/config-loader.ts
- Update
docs/guides/environment-overrides.md with examples
- Add unit tests
Context
Raised from PR #102 review feedback (comment by @EMaher).
Summary
The override system currently supports 5 resource sections:
namedValues,backends,apis,diagnostics, andloggers. Several other top-level resource types that commonly differ between environments are missing override support.Missing override sections (prioritized)
High priority
Lower priority (may not need overrides in practice)
What needs to change
For each new section:
XxxOverrideinterface insrc/models/config.tsOverrideConfigcase ResourceType.Xxxinsrc/services/override-merger.tsnormalizeOverrideSection()insrc/lib/config-loader.tsdocs/guides/environment-overrides.mdwith examplesContext
Raised from PR #102 review feedback (comment by @EMaher).