Polaris provides two sets of OpenAPI specifications:
polaris-management-service.yml - Defines the management APIs for using Polaris to create and manage Iceberg catalogs and their principalspolaris-catalog-service.yaml - Defines the specification for the Polaris Catalog API, which encompasses both the Iceberg REST Catalog API and Polaris-native API.polaris-catalog-apis - Contains the specification for Polaris-specific Catalog APIsiceberg-rest-catalog-open-api.yaml - Contains the specification for Iceberg Rest Catalog APIThe specification files in the generated folder are automatically created using OpenAPI bundling tools such as Redocly CLI.
These files should not be manually edited (except adding license header). They are intended for preview purposes only, such as rendering a preview on a website.
Whenever the source specification files are updated, the generated files must be re-generated to reflect those changes.
Below are steps to generate bundled-polaris-catalog-service.yaml
npm install @redocly/cli -g
redocly bundle spec/polaris-catalog-service.yaml -o spec/generated/bundled-polaris-catalog-service.yaml
Note: the license header will be removed after the bundle generation, please manually add it back.
The file iceberg-rest-catalog-open-api.yaml is copied from the upstream Iceberg REST catalog spec.
However, when copying it, you may need to make some nonfunctional changes in order to ensure that the Python types generated by the gradle task regeneratePythonClient still allow all tests to pass. For more context, see PR #1347.