Skip to content

fix: align override configuration format with APIOps Toolkit#102

Merged
petehauge merged 18 commits into
mainfrom
copilot/fix-github-issue-96
Jun 6, 2026
Merged

fix: align override configuration format with APIOps Toolkit#102
petehauge merged 18 commits into
mainfrom
copilot/fix-github-issue-96

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jun 1, 2026

Summary

Fixes the override file format in apiops-cli to match the existing APIOps Toolkit format, ensuring users can reuse their existing override files as a drop-in replacement.

Closes #96

Key Changes

  • src/lib/config-loader.ts — Accept the APIOps Toolkit override section format (list-based) in addition to the existing format; normalize on load
  • src/templates/configs/override-config.ts — Update generated override templates to use the toolkit-compatible list format
  • docs/guides/environment-overrides.md, docs/reference/configuration.md, docs/getting-started.md, docs/commands/publish.md — Align all override examples and documentation to the toolkit format
  • docs/guides/migration-from-v1.md, specs/quickstart.md — Normalize APIOps naming (Toolkit/CLI, not v1/v2)
  • tests/unit/lib/config-loader.test.ts, tests/unit/templates/configs/config-templates.test.ts — Harden tests for override config normalization and format compatibility

Also Includes

Copilot AI added a commit that referenced this pull request Jun 1, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI added a commit that referenced this pull request Jun 1, 2026
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
Copilot AI requested a review from petehauge June 1, 2026 22:07
Comment thread docs/guides/environment-overrides.md
Comment thread docs/guides/environment-overrides.md
Comment thread docs/guides/environment-overrides.md
Comment thread docs/guides/environment-overrides.md
Comment thread docs/guides/environment-overrides.md
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
Copilot AI requested a review from petehauge June 1, 2026 22:49
@petehauge petehauge changed the title Restore relevant environment-overrides guidance while preserving Toolkit list schema Align override configuration format with APIOps toolkit schema Restore relevant environment-overrides guidance while preserving Toolkit list schema Jun 1, 2026
@petehauge petehauge changed the title Align override configuration format with APIOps toolkit schema Restore relevant environment-overrides guidance while preserving Toolkit list schema Align override configuration format with APIOps toolkit schema Jun 1, 2026
Copilot stopped work on behalf of petehauge due to an error June 1, 2026 23:16
@petehauge petehauge marked this pull request as ready for review June 2, 2026 18:09
@petehauge petehauge requested review from EMaher and Copilot June 2, 2026 18:51
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 thread src/lib/config-loader.ts
Comment thread src/lib/config-loader.ts
Comment thread specs/quickstart.md Outdated
Comment thread docs/getting-started.md Outdated
@petehauge petehauge changed the title docs: add PR metadata guardrails for existing branches fix: align override configuration format with APIOps Toolkit Jun 5, 2026
petehauge pushed a commit that referenced this pull request Jun 5, 2026
Restore Key Vault secret naming tip, add correct/wrong naming
examples, and fix dry-run filename consistency to use
configuration.prod.yaml across all docs.

Closes #96

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot AI and others added 18 commits June 5, 2026 17:15
Record team updates and merge orchestration execution.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
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>
- Add validation error when override YAML top-level is not a mapping
- Fix docs: add APIOps Toolkit hyperlink in environment-overrides guide
- Fix docs: note that gateway/subscription overrides are not supported
- Fix docs: rename overrides.prod.yaml → configuration.prod.yaml in
  getting-started.md and specs/quickstart.md for consistency"
The config-loader now expects namedValues and loggers as arrays
of { name, properties } objects instead of keyed maps.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Restore Key Vault secret naming tip, add correct/wrong naming
examples, and fix dry-run filename consistency to use
configuration.prod.yaml across all docs.

Closes #96

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The rebase onto main left expectedCallSequence defined but unused —
main's refactored assertion uses expectedTypes with deduplication.
Renamed the variable and removed the duplicate NamedValue entry
that conflicts with the firstSeenInOrder filter.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@petehauge petehauge force-pushed the copilot/fix-github-issue-96 branch from 27c46e8 to 48809b4 Compare June 6, 2026 00:18
@EMaher EMaher self-requested a review June 6, 2026 04:27
@petehauge petehauge merged commit 827b308 into main Jun 6, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Overrides file is using a different format than APIOPs Toolkit

4 participants