Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Workspace-scoped override properties not applied

オープン
#118 コメント 3 件 リアクション 1 件 担当者 1 名 GitHub で見る

@azaslonov がすでに取り組んでいます。

2026年7月7日 から。

評価

この issue はまだ評価されていません。

説明

Enhancement P1

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 in OverrideEntry.children)
  • Never applies them — override-merger.ts doesn't check descriptor.workspace to 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:

  1. Check if the resource's descriptor has a workspace field set
  2. If so, look up the workspace in the workspaces override section
  3. Navigate into that workspace's children to find the appropriate override for the child resource type and name
  4. 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.

主要言語
TypeScript
スター
29
フォーク
10
平均マージ
1日 13時間
マージ済み PR(30日)
23

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Azure/apiops-cli のほかの issue

Azure/apiops-cli の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。