✨ prototyping dynamic graphql handler for catalogd #2109
+1,878
−1,557
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.
Veeeeeerrrrrrrrrry rough around the edges PR that gets a graphql handler added to the catalogd server (behind a feature gate). Not really happy at all yet with the library refactoring that adds the
Indexer
andIndex
types. But for now it at least gets the job done for this prototype.The idea here is that when we store an FBC, we build up a graphql schema dynamically based on the content of the FBC. The result being that catalogd is still a "dumb pipe" for FBC data. The GraphQL API is directly derived from the FBC API (or at least the parts of the FBC API that are in use somewhere in the served FBC).
To play with it, I've enabled the GraphQL explorer handler, so you can:
And then open https://localhost:8443/catalogs/operatorhubio/api/v1/graphql
And here's are some interesting queries to run:
Bundle search metadata
What OLMv1 operator-controller actually needs for resolution:
Reviewer Checklist