This repository is the interface definitions of the APIs of Instill Core, Instill Model and Instill VDP and Instill Artifact that support both REST and gRPC protocols. You can also use these definitions with open source tools to generate client libraries, documentation, and other artifacts.
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.tech.