Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,11 @@ apiops init \
| `--client-secret <secret>` | `AZURE_CLIENT_SECRET` env var | Service principal secret |
| `--tenant-id <id>` | `AZURE_TENANT_ID` env var | Azure AD tenant ID |

## Guides

- [Environment overrides](docs/guides/environment-overrides.md) — per-environment property overrides (backend URLs, secrets, credentials)
- [Multi-environment publish to a single APIM instance](docs/guides/multi-environment-shared-apim.md) — publish dev/qa/prod to a shared APIM using name prefixes

## Changelog

See [CHANGELOG.md](./CHANGELOG.md) for release notes and the list of changes in each version. To see what has changed
Expand Down
8 changes: 8 additions & 0 deletions docs/guides/environment-overrides.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,14 @@ The schema provides:
- Validation of the override structure (name + properties format)
- Inline documentation including token substitution syntax

## Multi-environment on a single APIM instance

Override files support an optional top-level `environment:` block that enables publishing multiple environments (dev, qa, prod) to a **single shared APIM instance**. When present, resource names are prefixed and/or suffixed at publish time so dev, qa, and prod resources coexist without colliding. Cross-references in policy XML — `{{namedValue}}` tokens, fragment IDs, backend IDs, subscription scopes — are rewritten automatically to use the affixed names.

Override entries always use **canonical (unprefixed) names** matching the artifact files on disk, regardless of whether an `environment:` block is present. The tool applies the affix at publish time; you never write prefixed names in override files or artifact files.

For full details — including the default and opt-in affixed types, `apiPathPrefix` precedence, `--delete-unmatched` namespace scoping, and a worked three-environment pipeline example — see [Multi-environment on shared APIM](multi-environment-shared-apim.md).

## Override file format (APIOps Toolkit-compatible)

`apiops-cli` uses the [APIOps Toolkit](https://github.com/Azure/apiops) override layout:
Expand Down
Loading