This repository is the API definitions of Instill Core that support both REST and gRPC protocols.
The APIs use Protocol Buffers version 3 (proto3) as the Interface Definition Language (IDL) to define the API interface and the structure of the payload messages. The same interface definition is used for both RESTful (via gRPC-Gateway) and RPC versions of the API, which can be accessed over different wire protocols:
- JSON over HTTP
- Protocol Buffers over gRPC
- PR sent to the
main
branch will automatically generate, lint and commit the OpenAPI definitions for the gRPC methods exposed over HTTP. This is done with thebuf
andrdme
CLIs. - PR sent to the
main
branch will triggerbuf-check
job, in which the changes in proto files will be validated via the Buf action. - Push to the
main
branch will push the Buf module to the BSR repository and the auto-generated codes to the correspondingprotogen-*
repository. - Merging to
main
an update in the API version will upload the OpenAPI docs to openapi.instill-ai.dev.