Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Recap schema registry #401

Merged
merged 1 commit into from
Oct 5, 2023
Merged

Add Recap schema registry #401

merged 1 commit into from
Oct 5, 2023

Conversation

criccomini
Copy link
Contributor

Recap can now store schemas in a registry similar to Confluent's schema registry and Buf's schema registry.

The registry is meant to be used as a source of truth for Recap schema definitions in an organization. It can also be used as a cache for schemas that have been read from elsewhere, though it is not meant to be a general purpose data catalog (i.e. data discoverability is not the goal).

There are two components to the registry:

  • Storage
  • HTTP/JSON API

The storage layer stores schemas on a filesystem like S3, GCS, or the local filesystem using fsspec. The HTTP/JSON layer is a Flask app that exposes a REST API for interacting with the registry.

The API largely mirrors Confluent's API, but with slightly different paths. It also doesn't have a delete endpoint.

Recap can now store schemas in a registry similar to
[Confluent's schema registry](https://docs.confluent.io/platform/current/schema-registry/index.html)
and [Buf's schema registry](https://buf.build/product/bsr).

The registry is meant to be used as a source of truth for Recap schema
definitions in an organization. It can also be used as a cache for schemas that
have been read from elsewhere, though it is not meant to be a general purpose
data catalog (i.e. data discoverability is not the goal).

There are two components to the registry:

- Storage
- HTTP/JSON API

The storage layer stores schemas on a filesystem like S3, GCS, or the local
filesystem using [fsspec](https://filesystem-spec.readthedocs.io/en/latest/).
The HTTP/JSON layer is a Flask app that exposes a REST API for interacting with
the registry.

The API largely mirrors Confluent's API, but with slightly different paths. It
also doesn't have a delete endpoint.
@criccomini criccomini merged commit 4a582d9 into main Oct 5, 2023
3 checks passed
@criccomini criccomini deleted the add-registry branch October 5, 2023 17:45
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.

1 participant