Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions plugins/anthropics/buffa/v0.8.1/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!Dockerfile
15 changes: 15 additions & 0 deletions plugins/anthropics/buffa/v0.8.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# syntax=docker/dockerfile:1.24
FROM rust:1.96.0-alpine3.23@sha256:5dc2af9dd547c33f64d5fc1d299ab93b51f39eaa16c426c476b990ce6caf5b3e AS builder
RUN apk add --no-cache musl-dev
WORKDIR /app
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,target=/root/target \
cargo install protoc-gen-buffa --version 0.8.1 --locked --root /app

FROM gcr.io/distroless/static-debian13:latest@sha256:3592aa8171c77482f62bbc4164e6a2d141c6122554ace66e5cc910cadb961ff0 AS base

FROM scratch
COPY --link --from=base / /
COPY --link --from=builder /app/bin/protoc-gen-buffa /protoc-gen-buffa
USER nobody
ENTRYPOINT ["/protoc-gen-buffa"]
55 changes: 55 additions & 0 deletions plugins/anthropics/buffa/v0.8.1/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
version: v1
name: buf.build/anthropics/buffa
plugin_version: v0.8.1
source_url: https://github.com/anthropics/buffa
description: Generates Rust message types with buffa, a zero-copy Protobuf implementation with editions support and no_std compatibility.
output_languages:
- rust
spdx_license_id: Apache-2.0
license_url: https://github.com/anthropics/buffa/blob/v0.8.1/LICENSE
registry:
cargo:
rust_version: "1.75" # https://github.com/anthropics/buffa/blob/v0.8.1/Cargo.toml#L35
deps:
# Runtime: wire format, Message trait, view types, JSON helpers.
# https://github.com/anthropics/buffa/blob/v0.8.1/buffa/Cargo.toml
- name: "buffa"
req: "0.8.1"
default_features: true
features:
- json
- text
# Well-known types (Timestamp, Duration, Any, Struct, etc.).
# Generated code references these via the auto-injected
# extern_path mapping `.google.protobuf` -> `::buffa_types::google::protobuf`.
- name: "buffa-types"
req: "0.8.1"
default_features: true
features:
- json
- name: "buffa-descriptor"
req: "0.8.1"
default_features: true
features:
- json
- views
- text
# Generated code derives `::serde::Serialize` / `::serde::Deserialize`
# directly when json=true, so serde must be a direct dep.
- name: "serde"
req: "1"
default_features: true
features:
- derive
opts:
# Enable serde derives + proto3 JSON mapping helpers. Required for
# downstream plugins that need the Connect protocol's JSON codec.
- json=true
# Enable textproto encoding/decoding.
- text=true
# Zero-copy view types. Default, but explicit for clarity.
- views=true
# Emit one `<dotted.package>.rs` per proto package instead of one
# file per proto file. Matches the prost/tonic filename convention
# the BSR Rust SDK lib.rs synthesis expects.
- file_per_package=true
2 changes: 2 additions & 0 deletions plugins/anthropics/connect-rust/v0.8.0/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!Dockerfile
17 changes: 17 additions & 0 deletions plugins/anthropics/connect-rust/v0.8.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# syntax=docker/dockerfile:1.24
FROM rust:1.96.0-alpine3.23@sha256:5dc2af9dd547c33f64d5fc1d299ab93b51f39eaa16c426c476b990ce6caf5b3e AS builder
RUN apk add --no-cache musl-dev
WORKDIR /app
ENV CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse
# The protoc-gen-connect-rust binary is a [[bin]] target in the
# connectrpc-codegen crate. cargo install compiles it by crate name.
RUN --mount=type=cache,target=/usr/local/cargo/registry,sharing=locked --mount=type=cache,target=/root/target \
cargo install connectrpc-codegen --version 0.8.0 --locked --root /app

FROM gcr.io/distroless/static-debian13:latest@sha256:3592aa8171c77482f62bbc4164e6a2d141c6122554ace66e5cc910cadb961ff0 AS base

FROM scratch
COPY --link --from=base / /
COPY --link --from=builder /app/bin/protoc-gen-connect-rust /protoc-gen-connect-rust
USER nobody
ENTRYPOINT ["/protoc-gen-connect-rust"]
55 changes: 55 additions & 0 deletions plugins/anthropics/connect-rust/v0.8.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
version: v1
name: buf.build/anthropics/connect-rust
plugin_version: v0.8.0
source_url: https://github.com/anthropics/connect-rust
description: Generates ConnectRPC service traits, typed clients, and monomorphic dispatchers for Rust. Compatible with the Connect, gRPC, and gRPC-Web protocols. Passes the full ConnectRPC conformance suite.
deps:
- plugin: buf.build/anthropics/buffa:v0.8.1
output_languages:
- rust
spdx_license_id: Apache-2.0
license_url: https://github.com/anthropics/connect-rust/blob/v0.8.0/LICENSE
registry:
cargo:
rust_version: "1.88"
deps:
# ConnectRPC runtime: Router, Context, ConnectError, client transports.
# https://github.com/anthropics/connect-rust/blob/v0.8.0/connectrpc/Cargo.toml
- name: "connectrpc"
req: "0.8.0"
default_features: true
# Generated service stubs use buffa::Message, buffa::view::OwnedView,
# buffa::bytes::Bytes directly. Message types live in the buffa SDK
# crate (via the plugin dep above); this dep is for the runtime API.
- name: "buffa"
req: "0.7.1"
default_features: true
# Well-known types. Service stubs whose request/response types are
# WKTs (e.g. google.longrunning.Operations) reference them as
# `::buffa_types::google::protobuf::...`, mirroring buffa-codegen's
# extern_path mapping for `.google.protobuf`. Must be a direct dep
# so the `::buffa_types` path resolves in the generated crate.
- name: "buffa-types"
req: "0.7.1"
default_features: true
features:
- json
# Streaming method signatures use futures::Stream.
- name: "futures"
req: "0.3"
default_features: true
# Client transport bounds reference http_body::Body.
- name: "http-body"
req: "1"
default_features: true
# The plugin accepts `extern_path=.=<rust_path>` (or the shorthand
# `buffa_module=<rust_path>`) to tell it where the buffa-generated message
# types live. BSR should inject this based on the buffa dep's SDK crate
# name, same as tonic receives extern_path for its prost dep. Leaving
# it out here; please advise if an explicit entry is needed.
opts:
# Emit one `<dotted.package>.rs` per proto package, mirroring the
# buffa plugin's `file_per_package=true` opt. Matches the
# prost/tonic filename convention the BSR Rust SDK lib.rs
# synthesis expects.
- file_per_package
3 changes: 3 additions & 0 deletions plugins/community/stephenh-ts-proto/v2.12.0/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*
!Dockerfile
!package*.json
19 changes: 19 additions & 0 deletions plugins/community/stephenh-ts-proto/v2.12.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# syntax=docker/dockerfile:1.24
FROM node:24.18.0-trixie@sha256:5ac1f09047e215d1e4df7fbdf95ff86ca14a35632380b6672d6c9c62d5ac3800 AS build
WORKDIR /app
COPY --link package*.json .
RUN npm ci
RUN sed -i -e 's|/usr/bin/env node|/nodejs/bin/node|g' /app/node_modules/ts-proto/protoc-gen-ts_proto \
&& rm -f /app/node_modules/dprint-node/*darwin*.node /app/node_modules/dprint-node/*win32*.node

FROM gcr.io/distroless/nodejs24-debian13:latest@sha256:ef5f3caf80da1630edd1a4df7b307a8f7d4553f8eec1dd29852b76e793593903 AS node

FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base

FROM scratch
COPY --link --from=base / /
COPY --link --from=node --chmod=0755 /nodejs/bin/node /nodejs/bin/node
COPY --link --from=build /app /app
USER nobody
ENTRYPOINT ["/nodejs/bin/node"]
CMD [ "/app/node_modules/.bin/protoc-gen-ts_proto" ]
10 changes: 10 additions & 0 deletions plugins/community/stephenh-ts-proto/v2.12.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
version: v1
name: buf.build/community/stephenh-ts-proto
plugin_version: v2.12.0
source_url: https://github.com/stephenh/ts-proto
integration_guide_url: https://github.com/stephenh/ts-proto#quickstart
description: An idiomatic protobuf generator for TypeScript.
output_languages:
- typescript
spdx_license_id: Apache-2.0
license_url: https://github.com/stephenh/ts-proto/blob/v2.12.0/LICENSE
87 changes: 87 additions & 0 deletions plugins/community/stephenh-ts-proto/v2.12.0/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions plugins/community/stephenh-ts-proto/v2.12.0/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "plugins-stephenh-ts-proto",
"version": "1.0.0",
"dependencies": {
"ts-proto": "2.12.0"
}
}
2 changes: 2 additions & 0 deletions plugins/grpc/cpp/v1.82.0/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*
!Dockerfile
29 changes: 29 additions & 0 deletions plugins/grpc/cpp/v1.82.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# syntax=docker/dockerfile:1.24
FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a AS build

ARG TARGETARCH
ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true"

RUN apt-get update \
&& apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip
RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-linux-${TARGETARCH} \
&& chmod +x /usr/local/bin/bazelisk \
&& mkdir /build \
&& chown nobody:nogroup /build \
&& usermod --home /build nobody

USER nobody
WORKDIR /build

RUN git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc
WORKDIR /build/grpc
RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support
RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_cpp_plugin

FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base

FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_cpp_plugin_binary .
USER nobody
ENTRYPOINT ["/grpc_cpp_plugin_binary"]
13 changes: 13 additions & 0 deletions plugins/grpc/cpp/v1.82.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
version: v1
name: buf.build/grpc/cpp
plugin_version: v1.82.0
source_url: https://github.com/grpc/grpc
description: Generates C++ client and server stubs for the gRPC framework.
deps:
- plugin: buf.build/protocolbuffers/cpp:v35.1
output_languages:
- cpp
spdx_license_id: Apache-2.0
license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE
registry:
cmake: {}
3 changes: 3 additions & 0 deletions plugins/grpc/csharp/v1.82.0/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*
!Dockerfile
!build.csproj
35 changes: 35 additions & 0 deletions plugins/grpc/csharp/v1.82.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# syntax=docker/dockerfile:1.24
FROM debian:trixie-20260623@sha256:d07d1b51c39f51188e60be9b64e6bf769fa94e187f092bc32b91305cfa34ba5a AS build

ARG TARGETARCH
ARG BAZEL_OPTS="--host_jvm_args=-Djava.net.preferIPv4Stack=true"

RUN apt-get update \
&& apt-get install -y curl git cmake build-essential autoconf clang libc++-dev libtool pkg-config unzip zip
RUN curl -fsSL -o /usr/local/bin/bazelisk https://github.com/bazelbuild/bazelisk/releases/download/v1.26.0/bazelisk-linux-${TARGETARCH} \
&& chmod +x /usr/local/bin/bazelisk \
&& mkdir /build \
&& chown nobody:nogroup /build \
&& usermod --home /build nobody

USER nobody
WORKDIR /build

RUN git clone --depth 1 --branch v1.82.0 https://github.com/grpc/grpc
WORKDIR /build/grpc
RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_plugin_support
RUN bazelisk ${BAZEL_OPTS} build //src/compiler:grpc_csharp_plugin

FROM mcr.microsoft.com/dotnet/sdk:8.0.422-bookworm-slim@sha256:63ebabdcde24cc8134304a6f50719cf1e22bb4e9f7148ac4ef967c7680187356 AS dotnetrestore
WORKDIR /build
COPY --link ./build.csproj /build/build.csproj
RUN mkdir /nuget && dotnet restore --packages /nuget

FROM gcr.io/distroless/cc-debian13:latest@sha256:a017e74bd2a12d98342dbecd33d121d2b160415ed777573dc1808969e989d94d AS base

FROM scratch
COPY --link --from=base / /
COPY --link --from=dotnetrestore /nuget /nuget
COPY --link --from=build --chmod=0755 /build/grpc/bazel-bin/src/compiler/grpc_csharp_plugin_binary .
USER nobody
ENTRYPOINT ["/grpc_csharp_plugin_binary"]
20 changes: 20 additions & 0 deletions plugins/grpc/csharp/v1.82.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
version: v1
name: buf.build/grpc/csharp
plugin_version: v1.82.0
source_url: https://github.com/grpc/grpc
description: Generates C# client and server stubs for the gRPC framework.
deps:
- plugin: buf.build/protocolbuffers/csharp:v35.1
output_languages:
- csharp
spdx_license_id: Apache-2.0
license_url: https://github.com/grpc/grpc/blob/v1.82.0/LICENSE
registry:
opts:
- base_namespace=
nuget:
target_frameworks:
- netstandard2.0
deps:
- name: Grpc.Net.Common
version: 2.80.0
Loading
Loading