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
mainbranch will automatically generate, lint and commit the OpenAPI definitions for the gRPC methods exposed over HTTP. This is done with thebufandrdmeCLIs. - PR sent to the
mainbranch will triggerbuf-checkjob, in which the changes in proto files will be validated via the Buf action. - Push to the
mainbranch will push the Buf module to the BSR repository and the auto-generated codes to the correspondingprotogen-*repository. - Merging to
mainan update in the API version will upload the OpenAPI docs to openapi.instill-ai.dev.