Skip to content

feat(onboard): add apx onboard command for brownfield API onboarding - #44

Open
kfritchman46 wants to merge 1 commit into
infobloxopen:mainfrom
kfritchman46:feature/brownfield-onboarding
Open

feat(onboard): add apx onboard command for brownfield API onboarding#44
kfritchman46 wants to merge 1 commit into
infobloxopen:mainfrom
kfritchman46:feature/brownfield-onboarding

Conversation

@kfritchman46

Copy link
Copy Markdown

Summary

  • Adds apx onboard <api-id> command to scaffold the publish-on-change workflow for existing service repositories without restructuring them
  • Format-aware: proto/openapi repos get an fds Makefile target and FDS-based manifest; jsonschema/avro/parquet/crd repos get a <format>: schema field and skip the Makefile step entirely
  • Atlas-gentool repos with a go.mod get fully inline workflows that keep GITPAT netrc auth alive across go mod vendor and make fds (needed for vendor-atlas Makefile prerequisite); all other repos get thin reusable workflow callers
  • Adds brownfield onboarding doc and cross-links from quickstart, tutorial, and layout pages

New flags

--canonical-repo, --schema-file, --proto-file, --schema-dir, --swagger, --lifecycle, --audience, --fds-output, --default-branch, --go-private, --org, --repo, --non-interactive

Test plan

  • apx onboard proto/... --proto-file ... on an atlas-gentool repo — verify inline workflow with GITPAT netrc is generated
  • apx onboard jsonschema/... --schema-file ... — verify jsonschema: field, no Makefile target, thin workflow callers
  • apx onboard openapi/... --schema-dir ... (buf repo) — verify buf Makefile target and thin callers
  • --non-interactive with missing --canonical-repo returns an error

Adds `apx onboard <api-id>` to scaffold the publish-on-change workflow
for existing service repositories without restructuring them.

Generated files:
- apx.yaml: APX workspace config
- .apx-publish.yaml: module manifest (supports proto, openapi, jsonschema,
  avro, parquet, crd formats)
- Makefile fds target: buf or atlas-gentool based (skipped for non-FDS formats)
- .github/workflows/api-catalog-pr.yml + api-catalog-publish.yml:
  thin reusable workflow callers, or fully inline workflows for atlas-gentool
  repos that need go mod vendor with private-repo auth before make fds
- .gitignore: APX artifact entries

Format-aware behaviour:
- proto/openapi: emits fds_target, fds: field, Makefile target, and FDS
  gitignore entry; atlas-gentool + go.mod repos get inline workflows with
  GITPAT netrc auth kept alive for vendor-atlas during make fds
- jsonschema/avro/parquet/crd: emits format-keyed schema field (e.g.
  jsonschema:), skips Makefile and fds gitignore entry, uses thin callers

New flags: --schema-file, --go-private, --proto-file, --schema-dir,
--swagger, --lifecycle, --audience, --fds-output, --canonical-repo,
--default-branch, --org, --repo, --non-interactive

Also adds brownfield onboarding doc and cross-links from quickstart,
tutorial, and layout pages.
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.

2 participants