gabledata / recap

Work with your web service, database, and streaming schemas in a single format.
https://recap.build
MIT License
330 stars 24 forks source link

Add Recap schema registry #401

Closed criccomini closed 1 year ago

criccomini commented 1 year ago

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:

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.