Align override configuration format with APIOps toolkit schema#102
Open
Copilot wants to merge 18 commits into
Open
Align override configuration format with APIOps toolkit schema#102Copilot wants to merge 18 commits into
Copilot wants to merge 18 commits into
Conversation
Record team updates and merge orchestration execution. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot created this pull request from a session on behalf of
petehauge
June 1, 2026 21:57
View session
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Merged decision from GitHubExpert coordination: PR #102 title and description updated to reflect real scope (override format alignment, issue #96). Title update deferred due to API token scope limitations. - Added orchestration log entry - Added session log entry - Merged decision inbox into decisions.md - Updated scribe history Closes #96 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot
AI
changed the title
chore: merge main to fix workspace extractor test
Align override configuration format with APIOps toolkit schema
Jun 1, 2026
petehauge
reviewed
Jun 1, 2026
Copilot
AI
changed the title
Align override configuration format with APIOps toolkit schema
Restore relevant environment-overrides guidance while preserving Toolkit list schema
Jun 1, 2026
…e/apiops-cli into copilot/fix-github-issue-96
Copilot stopped work on behalf of
petehauge due to an error
June 1, 2026 23:16
petehauge
approved these changes
Jun 2, 2026
There was a problem hiding this comment.
Pull request overview
This PR aligns apiops-cli override configuration parsing, templates, documentation, and test coverage with the APIOps Toolkit override schema (list items with name + properties), to support reusing existing toolkit-style override files (Fixes #96).
Changes:
- Normalizes toolkit-style override YAML sections into the internal keyed-map shape and rejects keyed-map section shapes with explicit validation errors.
- Updates override templates and multiple docs to show toolkit-compatible override structure.
- Extends unit/integration tests to cover toolkit normalization, invalid/mixed formats, and publish round-trip behavior with overrides.
Reviewed changes
Copilot reviewed 15 out of 15 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/lib/config-loader.ts |
Adds override YAML normalization + validation for toolkit list format. |
src/templates/configs/override-config.ts |
Updates generated override template examples to - name / properties. |
tests/unit/lib/config-loader.test.ts |
Adds unit tests for normalization, invalid shapes, and fallback behavior. |
tests/unit/templates/configs/config-templates.test.ts |
Updates template assertions to match toolkit list-format examples. |
tests/integration/all-resource-types/run-roundtrip-test.ps1 |
Updates integration override generation to toolkit list format and adds compare transcript logging. |
docs/commands/publish.md |
Updates publish override examples and guidance to toolkit structure. |
docs/reference/configuration.md |
Updates configuration reference snippet to toolkit structure. |
docs/guides/environment-overrides.md |
Reworks overrides guide to document toolkit-compatible list format and rules. |
docs/guides/migration-from-v1.md |
Updates migration guidance to state v1 publisher config maps directly to v2 overrides. |
docs/getting-started.md |
Updates getting-started override example YAML to toolkit structure. |
specs/quickstart.md |
Updates quickstart override example YAML to toolkit structure. |
.squad/decisions.md |
Adds a decision record related to PR metadata correction. |
.squad/agents/scribe/history.md |
Records scribe processing of PR metadata correction coordination. |
.squad/agents/githubexpert/history.md |
Adds GitHubExpert learnings/history entries related to PR metadata correction + merge process. |
.devcontainer/devcontainer-lock.json |
Adds devcontainer feature lockfile for reproducible devcontainer provisioning. |
Comment on lines
+13
to
+15
| /** Internal normalized override shape keyed by resource name. */ | ||
| type OverrideSection = Record<string, Record<string, unknown>>; | ||
|
|
Comment on lines
+112
to
+114
| const loaded = yaml.load(content); | ||
| const parsed = isPlainObject(loaded) ? loaded : {}; | ||
| const normalized = normalizeOverrideConfig(parsed); |
Comment on lines
47
to
+51
| Create `overrides.prod.yaml` for environment-specific values: | ||
|
|
||
| ```yaml | ||
| namedValues: | ||
| backend-url: | ||
| value: "https://api.prod.example.com" | ||
| - name: backend-url |
Comment on lines
79
to
+83
| Create `overrides.prod.yaml` for environment-specific values: | ||
|
|
||
| ```yaml | ||
| namedValues: | ||
| backend-url: | ||
| value: "https://api.prod.example.com" | ||
| - name: backend-url |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #96
This PR aligns override configuration handling and documentation with the APIOps Toolkit format so existing toolkit-style overrides work consistently in
apiops-cli.What changed
namedValues,backends,apis,diagnostics,loggersmust be lists of items withnameandproperties.propertiesby falling back to inline item fields.propertiesfallback behavior.Why
Issue #96 requires
apiops-clito be a drop-in replacement for APIOps Toolkit override files. This change removes format ambiguity and makes docs, templates, parser behavior, and tests consistent with the toolkit-aligned model.