Skip to content

Align filter format with APIOps Toolkit#115

Open
petehauge wants to merge 3 commits into
mainfrom
fix/align-toolkit-config-format
Open

Align filter format with APIOps Toolkit#115
petehauge wants to merge 3 commits into
mainfrom
fix/align-toolkit-config-format

Conversation

@petehauge
Copy link
Copy Markdown
Collaborator

@petehauge petehauge commented Jun 6, 2026

Summary

Fully aligns the apiops-cli configuration format with the APIOps Toolkit (Azure/apiops), so users can take their existing Toolkit configuration files and use them with apiops-cli unchanged.

Changes

1. Filter config key names — Renamed from *Names suffix to bare camelCase plurals to match the Toolkit's ConfigurationKey derivation:

Before After (matches Toolkit)
apiNames apis
backendNames backends
productNames products
namedValueNames namedValues
versionSetNames versionSets
(all 16 fields) (bare camelCase plurals)

Backward compatibility: The config loader accepts both Toolkit-style keys (e.g., apis) and legacy *Names keys (e.g., apiNames). Legacy keys emit a deprecation warning. Using both forms for the same field is an error.

2. Filter config filename — Renamed configuration.extract.yamlconfiguration.extractor.yaml across all templates, CI/CD workflows, and documentation.

3. apimServiceName handling — The Toolkit supports an apimServiceName root-level field in override configs. The CLI now accepts this gracefully (logs info that CLI uses --service-name instead, and ignores the field).

Files Changed

  • Source: 7 files (models, config-loader, filter-service, transitive-resolver, workspace-extractor, templates, init-service)
  • Tests: 13 test files updated + 3 new backward-compat alias tests
  • Docs: 7 documentation files updated
  • Specs/CI: 3 files (cli-commands spec, extract workflow/pipeline templates)

Verification

  • ✅ 935/935 unit tests pass (including new alias tests)
  • ✅ Lint passes clean
  • ✅ No remaining references to old key names in src/

Related Issue(s)

Closes #114

- Rename filter config keys from *Names suffix to bare camelCase plurals
  (e.g., apiNames -> apis, backendNames -> backends, versionSetNames -> versionSets)
  to match the Toolkit's configuration.extractor.yaml schema
- Rename filter config filename from configuration.extract.yaml to
  configuration.extractor.yaml across templates, CI/CD workflows, and docs
- Add graceful handling for apimServiceName in override config (Toolkit
  uses this for target APIM instance; CLI logs info and ignores it)
- Override config format already aligned (same section names and
  properties wrapper structure as Toolkit)
- Update all 13 test files, 7 docs, CI/CD templates, and specs

Closes #114

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@petehauge petehauge changed the title feat: align filter and override config formats with APIOps Toolkit Align filter format with APIOps Toolkit Jun 6, 2026
@petehauge petehauge marked this pull request as draft June 6, 2026 22:02
The config loader now accepts both Toolkit-style keys (e.g., apis,
backends, versionSets) and legacy *Names keys (e.g., apiNames,
backendNames, versionSetNames). Legacy keys emit a deprecation
warning. Using both forms for the same field is an error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread docs/guides/migration-from-v1.md Outdated
```

The filter YAML format is compatible. Rename the file if you prefer the v2 convention, and pass it with `--filter`:
The filter YAML format is fully compatible with v1. You can use your existing `configuration.extractor.yaml` as-is with the `--filter` flag:
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Instead of "v1" we should say "APIOps Toolkit"... (this should be fixed everywhere, we shouldn't use 'v1' terminology if possible)

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

Fixed — replaced all \�1/\�2\ references throughout \migration-from-v1.md\ with \APIOps Toolkit/\�piops-cli\ respectively. See commit fd1c93f.

Use "APIOps Toolkit" instead of "v1" and "apiops-cli" instead of "v2"
throughout the migration guide for clarity.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@petehauge petehauge marked this pull request as ready for review June 6, 2026 23:04
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.

Align extraction filter config format with APIOps Toolkit

1 participant