Repository navigation
feat(api): add App Registry to the browsable API catalog [DEVEX-1173] - #325
Open
jpage-godaddy wants to merge 1 commit into
Open
jpage-godaddy wants to merge 1 commit into
jpage-godaddy wants to merge 1 commit into
Conversation
jpage-godaddy
requested review from
axburgess-godaddy,
jpearlman-godaddy,
mguerrero3-godaddy,
qcai-godaddy,
rts1-godaddy,
sgopalan-godaddy,
smukherjee-godaddy and
wcole1-godaddy
as code owners
October 14, 2026 19:29
jpage-godaddy
added this pull request to stack #327
October 14, 2026 19:33
Contributor
There was a problem hiding this comment.
🟡 Changes recommended
The schema refresh guard accepts connection-type names even when the root Query definition is missing.
1 open finding
What changed in this PR
Adds App Registry to gddy api, establishing the pinned schema for the later typed-client migration.
Changes:
- Vendors the schema and embeds its generated catalog.
- Supports per-source organizations, spec paths, and GraphQL endpoints.
- Adds catalog completeness and endpoint consistency tests.
| File | Description |
|---|---|
| rust/tools/generate-api-catalog/src/manifest.rs | Adds source configuration fields. |
| rust/tools/generate-api-catalog/src/main.rs | Wires schema refresh and endpoint tests. |
| rust/tools/generate-api-catalog/src/graphql.rs | Uses declared GraphQL endpoints. |
| rust/tools/generate-api-catalog/src/github.rs | Supports organization-qualified sources and overrides. |
| rust/tools/generate-api-catalog/src/app_registry_spec.rs | Validates and refreshes the vendored schema. |
| rust/src/api/catalog.rs | Embeds App Registry and tests catalog completeness. |
| rust/schemas/api/manifest.json | Registers the new domain. |
| rust/schemas/api/app-registry.json | Adds generated operation and type metadata. |
| rust/platform-app-client/graphql/schema.graphql | Pins the App Registry schema. |
| rust/api-catalog-sources.json | Declares the source repository and endpoint. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
jpage-godaddy
force-pushed
the
app-registry-schema
branch
from
October 14, 2026 20:04
908b2ad to
3f4f51f
Compare
`gddy api` now lists the App Registry GraphQL API: its operations, types and schema are browsable and callable like the other catalog domains. The schema is pinned in the repo, vendored from gdcorp-commerce/app-registry-api (the service's own repo) rather than the stale gdcorp-platform specification repo, and refreshed by generate-api-catalog. Catalog sources can now name their own GitHub org and an explicit spec path. A GraphQL schema carries no server URL, so GraphQL sources must declare `baseUrl` and `endpointPath`; App Registry is served from https://api.godaddy.com/v1/apps/app-registry-subgraph. `API_CATALOG_REPOS` and `API_CATALOG_REPO_REFS` accept `org/repository`, and a bare repository name that more than one source shares is rejected (repos) or ignored (refs) instead of silently picking one. A test now fails if a committed catalog file is not embedded in the CLI, and another if a GraphQL catalog entry drifts from its declared endpoint. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
jpage-godaddy
force-pushed
the
app-registry-schema
branch
from
October 14, 2026 20:08
3f4f51f to
694dbf6
Compare
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.

Summary
gdcorp-commerce/app-registry-api(the service's own repo) rather than the stalegdcorp-platformspecification repo, and refreshes it fromgenerate-api-catalog.gddy api(api domain list,api operation list --domain app-registry,api graphql get/call). It was previously absent.baseUrlandendpointPath(a GraphQL schema carries no server URL); App Registry is served fromhttps://api.godaddy.com/v1/apps/app-registry-subgraph. OpenAPI sources must not set them.API_CATALOG_REPOSandAPI_CATALOG_REPO_REFSacceptorg/repository. A bare repository name shared by more than one source is rejected (repos) or ignored (refs) rather than silently picking one.About 4,250 of the added lines are the generated catalog entry (
schemas/api/app-registry.json) and the vendored schema (schema.graphql); the hand-written change is roughly 400 lines undertools/generate-api-catalog/andsrc/api/catalog.rs.This is the first of three PRs for DEVEX-1173:
gddy api.platform-app-clientcrate (not used by the CLI yet).ApplicationClientand the platform app commands to the typed client (feat(platform-app): convert App Registry GraphQL client to a spec-generated client #282).Test plan
cargo check --workspacecargo clippy --workspace --all-targets -- -D warningscargo test --workspacecargo fmt --check./rust/scripts/check-module-size.shgddy api domain listandgddy api operation list --domain app-registryshow the domain at/v1/apps/app-registry-subgraph🤖 Generated with Claude Code