-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
What is the current state?
Currently the GET /schemas API endpoint returns a list of all versions of registered schemas and GET /subjects the list of currently registered subjects.
One can configure an alias for a subject by sending a PUT /config with an alias in the body.
There is currently no endpoint or method to retrieve all configured aliases, without knowing the alias subject beforehand, which can complicate the integration with tools such as Trino, which scrapes available subjects for topics from one of the GET endpoints above.
Mapping a correct subject for topic that does not meet the default requirement of TopicNameStrategy topic+'value' transformation is the main selling point of aliases as per docs https://docs.confluent.io/platform/8.0/schema-registry/fundamentals/index.html#subject-aliases
With the default TopicNameStrategy, most clients will expect the schema for the record values in mytopic to be registered under the subject mytopic-value. Rather than having to re-register your schemas under a different subject, or having to change the use of TopicNameStrategy, you can simple set up an alias as follows ...
What do we want?
To be able to list available aliases either together with the rest of schemas in GET /schemas or /subjects (distinguished using a GET parameter like ?aliases=True or in the subject dictionary body with field <subject>.alias==True) or a separate endpoint like /aliases which returns a response json similar to the GET endpoints mentioned above (/subjects and /schemas)
Why do we want it?
For easier integration with tools such as Trino and to be able to easily audit created aliases without the need for separate storage or API clients.
How will we do it?
up for discussion