Summary
Support deploying multiple environments (e.g., dev, staging, prod) to the same Azure API Management instance, with clear separation between environments via naming conventions or prefixes.
Problem
Currently, apiops-cli assumes a 1:1 mapping between environments and APIM instances. Many organizations want to consolidate multiple environments into a single APIM instance for cost or operational reasons, but need clear separation between environment-specific APIs.
Proposed Solution
Extract
- Support extracting APIs from a single APIM instance while tagging/grouping them by environment (e.g., via API name prefix, path prefix, or tags).
- Allow filter configuration to scope extraction to a specific environment subset.
Publish
- When publishing to a target environment (e.g., "Dev"), automatically apply an environment-specific prefix or suffix to API names/paths (e.g.,
dev-my-api or /dev/my-api).
- Support configuration to define the naming/prefixing strategy per environment.
- Ensure environment-specific named values, backends, and other resources are correctly scoped.
Configuration
- Extend the configuration system to support an
environment concept with per-environment prefixing rules.
- Allow users to define environment mappings in their configuration files (e.g.,
configuration.dev.yaml targets the same APIM instance but with a dev- prefix).
Acceptance Criteria
Summary
Support deploying multiple environments (e.g., dev, staging, prod) to the same Azure API Management instance, with clear separation between environments via naming conventions or prefixes.
Problem
Currently, apiops-cli assumes a 1:1 mapping between environments and APIM instances. Many organizations want to consolidate multiple environments into a single APIM instance for cost or operational reasons, but need clear separation between environment-specific APIs.
Proposed Solution
Extract
Publish
dev-my-apior/dev/my-api).Configuration
environmentconcept with per-environment prefixing rules.configuration.dev.yamltargets the same APIM instance but with adev-prefix).Acceptance Criteria