Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 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.7.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.7.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:66f48b19d6e88519e2e58bebe0d945779a6a4ca41c2db17db78c9569655b50ac 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.7.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"]
51 changes: 51 additions & 0 deletions plugins/anthropics/buffa/v0.7.1/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
version: v1
name: buf.build/anthropics/buffa
plugin_version: v0.7.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.7.1/LICENSE
registry:
cargo:
rust_version: "1.85"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
rust_version: "1.85"
rust_version: "1.87" # https://github.com/anthropics/buffa/blob/v0.7.1/Cargo.toml#L30

deps:
# Runtime: wire format, Message trait, view types, JSON helpers.
# https://github.com/anthropics/buffa/blob/v0.7.1/buffa/Cargo.toml
- name: "buffa"
req: "0.7.1"
default_features: true
features:
- json

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# 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.7.1"
default_features: true
features:
- json
- name: "buffa-descriptor"
req: "0.7.1"
default_features: true
features:
- json
- views

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

# 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
# Zero-copy view types. Default, but explicit for clarity.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add text=true here.

- 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.7.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.7.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:66f48b19d6e88519e2e58bebe0d945779a6a4ca41c2db17db78c9569655b50ac 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.7.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.7.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.7.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.7.1
output_languages:
- rust
spdx_license_id: Apache-2.0
license_url: https://github.com/anthropics/connect-rust/blob/v0.7.0/LICENSE
registry:
cargo:
rust_version: "1.88"
deps:
# ConnectRPC runtime: Router, Context, ConnectError, client transports.
# https://github.com/anthropics/connect-rust/blob/v0.7.0/connectrpc/Cargo.toml
- name: "connectrpc"
req: "0.7.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/grpc/java/v1.82.0/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
*
!Dockerfile
!pom.xml
29 changes: 29 additions & 0 deletions plugins/grpc/java/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-20260610@sha256:fe7312b5f05bf5f43fad76bcd8945642e4e47a68aefd1b73f447615899d0fac1 AS build

ARG TARGETARCH

WORKDIR /build
RUN apt-get update \
&& apt-get install -y curl
RUN arch=${TARGETARCH}; \
if [ "${arch}" = "arm64" ]; then\
arch="aarch_64"; \
elif [ "${arch}" = "amd64" ]; then\
arch="x86_64"; \
fi; \
echo "${arch}"; \
curl -fsSL -o protoc-gen-grpc-java https://repo1.maven.org/maven2/io/grpc/protoc-gen-grpc-java/1.82.0/protoc-gen-grpc-java-1.82.0-linux-${arch}.exe

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

FROM maven:3.9.11-eclipse-temurin-21 AS maven-deps
COPY pom.xml /tmp/pom.xml
RUN cd /tmp && mvn -f pom.xml dependency:go-offline

FROM scratch
COPY --link --from=base / /
COPY --link --from=build --chmod=0755 --chown=root:root /build/protoc-gen-grpc-java .
COPY --from=maven-deps /root/.m2/repository /maven-repository
USER nobody
ENTRYPOINT [ "/protoc-gen-grpc-java" ]
30 changes: 30 additions & 0 deletions plugins/grpc/java/v1.82.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
version: v1
name: buf.build/grpc/java
plugin_version: v1.82.0
source_url: https://github.com/grpc/grpc-java
integration_guide_url: https://grpc.io/docs/languages/java/quickstart
description: Generates Java client and server stubs for the gRPC framework.
deps:
- plugin: buf.build/protocolbuffers/java:v35.0
output_languages:
- java
spdx_license_id: Apache-2.0
license_url: https://github.com/grpc/grpc-java/blob/v1.82.0/LICENSE
registry:
maven:
deps:
- io.grpc:grpc-core:1.82.0
- io.grpc:grpc-protobuf:1.82.0
- io.grpc:grpc-stub:1.82.0
# Add direct dependency on newer protobuf as gRPC is still on 3.25.8
- com.google.protobuf:protobuf-java:4.35.0
additional_runtimes:
- name: lite
deps:
- io.grpc:grpc-core:1.82.0
- io.grpc:grpc-protobuf-lite:1.82.0
- io.grpc:grpc-stub:1.82.0
# Add direct dependency on newer protobuf as gRPC is still on 3.25.8
- com.google.protobuf:protobuf-javalite:4.35.0
- build.buf:protobuf-javalite:4.35.0
opts: [lite]
44 changes: 44 additions & 0 deletions plugins/grpc/java/v1.82.0/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>temp</groupId>
<artifactId>temp</artifactId>
<version>1.0</version>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-core</artifactId>
<version>1.82.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>1.82.0</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>1.82.0</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>4.35.0</version>
</dependency>
<!-- lite -->
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf-lite</artifactId>
<version>1.82.0</version>
</dependency>
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-javalite</artifactId>
<version>4.35.0</version>
</dependency>
<dependency>
<groupId>build.buf</groupId>
<artifactId>protobuf-javalite</artifactId>
<version>4.35.0</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:nYqw3AXG7/uogG9uKS7uOELDkH+a2OhXqJM4vVQmUjk=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:E7Z/zCtOl+G8tOxYeYh4fgceY5BoZ9hfGVlsKUKfwRI=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:PSP+myIlbDXdCLfYhDnXhi5DI3zPC0+7Ae3Y2ge3NKc=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:AwNndHywdjxTwUG9Tv8N3/n3O/SNLNpqOOcOxSIY4Qo=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:abVqnZfKuwUcrLQyb+Lu2QqyVxyEnfIosZqrc8Lv/f0=
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
h1:LtrVq0lTE5qfsjeZj2BqKoPibzJpnzDsSY/jO/SrmoY=
Loading