chainguard-dev/sdk

GitHub: chainguard-dev/sdk

Stars: 2 | Forks: 26

# SDK This repository contains the public [gRPC](https://grpc.io/) protos supporting our services, plus packages to ease integration with the Chainguard platform. ## Updating `*.proto` files After updating a `*.proto` you'll need to update the corresponding generated go code. ### Using Docker (recommended) Run codegen in an ephemeral container with all dependencies pre-installed: ./hack/update-codegen-docker.sh This requires Docker but no local installation of `protoc` or its plugins. ### Running locally ./hack/update-codegen.sh #### Prerequisites Install `protoc` [v34.1](https://github.com/protocolbuffers/protobuf/releases/tag/v34.1): https://grpc.io/docs/protoc-installation/ We currently require `protoc` v34.1. Install `protoc` codegen dependencies: go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11 go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@v2.22.0 go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@v2.22.0 ## Argos Platform Services The `proto/platform/argos/v1` package exposes two gRPC services over the platform endpoint. ### ArgosDocuments `ArgosDocuments` manages organization-scoped, client-side-encrypted documents. Callers require one of `CAP_ARGOS_DOCUMENTS_CREATE`, `CAP_ARGOS_DOCUMENTS_LIST`, or `CAP_ARGOS_DOCUMENTS_DELETE` depending on the operation. Documents are encrypted client-side before upload; the server never holds plaintext. ### ArgosOSV `ArgosOSV` provides OSV-format vulnerability query access to the Private OSV shared corpus. All Argos members holding `CAP_ARGOS_OSV_READ` see the same record set — there is no per-organisation filtering. The service exposes three RPCs: | RPC | HTTP | Description | |-----|------|-------------| | `Query` | `POST /argos/v1/osv/query` | Query vulnerabilities affecting a package at a version | | `QueryBatch` | `POST /argos/v1/osv/querybatch` | Batch form of Query | | `GetVuln` | `GET /argos/v1/osv/vulns/{id}` | Fetch a single OSV record by ID | Records are returned in [OSV schema](https://ossf.github.io/osv-schema/) format. ## Breaking Changes While we make every effort to maintain backward compatibility and avoid breaking changes, we cannot guarantee that future updates to this SDK will be entirely non-breaking. As our platform evolves and new features are added, some modifications to the API surface may be necessary. We recommend pinning to specific versions in production environments and thoroughly testing updates before deployment.
标签:EVTX分析