Workspace-scoped override properties not applied
@azaslonov ci sta già lavorando.
Dal 7/7/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
User Impact
When using an environment override file (e.g., configuration.prod.yaml) with workspace-scoped overrides like this:
workspaces:
- name: my-workspace
properties:
description: "Production workspace"
apis:
- name: my-api
properties:
serviceUrl: "https://prod.example.com"
backends:
- name: my-backend
properties:
url: "https://prod-backend.example.com"
The CLI applies overrides to the workspace container itself (the properties on the workspace entry), but silently ignores all nested child overrides (apis, backends, loggers, etc. within the workspace). Customers migrating from the APIOps Toolkit who use workspace-scoped overrides will find that their workspace child resources are published with dev/staging values instead of the expected production values.
Technical Details
The APIOps Toolkit resolves overrides using a parent chain — when publishing a resource scoped to a workspace (e.g., workspace API my-api in workspace my-workspace), it walks the override config: workspaces → my-workspace → apis → my-api → properties.
The CLI currently:
- Parses workspace child override sections correctly in
config-loader.ts(nested entries under workspaces are stored inOverrideEntry.children) - Never applies them —
override-merger.tsdoesn't checkdescriptor.workspaceto determine if a resource is workspace-scoped, and doesn't look into workspace entry children for the override
Expected Behavior
When publishing a workspace-scoped resource, the override merger should:
- Check if the resource's descriptor has a
workspacefield set - If so, look up the workspace in the
workspacesoverride section - Navigate into that workspace's children to find the appropriate override for the child resource type and name
- Apply the override properties via deep merge
This should work for all workspace child types (apis, backends, diagnostics, groups, loggers, namedValues, policyFragments, products, subscriptions, tags, versionSets) including nested API sub-resources (workspace api → diagnostics, operations, policies, releases).
Related
This was identified during the filter/override format alignment work in #114 / PR #115.
- Lingua principale
- TypeScript
- Stelle
- 29
- Fork
- 10
- Merge medio
- 1g 14h
- PR unite (30g)
- 22
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Azure/apiops-cli
-
type:question
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Azure/apiops-cli#277 ·
-
type:documentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 94/100
Azure/apiops-cli#250 ·
-
Documentation P2
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Azure/apiops-cli#24 · 1 commento ·
-
type:bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
Azure/apiops-cli#291 ·
-
type:bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 58/100
Azure/apiops-cli#276 ·
Tutte le issue di Azure/apiops-cli
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
[Bug]: Matrix progress drafts fail with "Matrix runtime not initialized" during tool activity Apertabug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
calcite-components needs triage refactor
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
Esri/calcite-design-system#15203 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 90/100
danielmiessler/LifeOS#2218 ·