Skip to content

🐃 A collection of Instill Protocol Buffers

License

Notifications You must be signed in to change notification settings

instill-ai/protobufs

Repository files navigation

Instill AI Protobufs

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.

Overview

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

CI/CD

  1. 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 the buf and rdme CLIs.
  2. PR sent to the main branch will trigger buf-check job, in which the changes in proto files will be validated via the Buf action.
  3. Push to the main branch will push the Buf module to the BSR repository and the auto-generated codes to the corresponding protogen-* repository.
  4. Merging to main an update in the API version will upload the OpenAPI docs to openapi.instill.tech.