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
3 changes: 3 additions & 0 deletions plugins/anthropics/buffa/source.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
source:
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.

I think there's supposed to be a crates section here? See the prost plugin as an ezample

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

changed to crate ref instead of github ref 👍

crates:
crate_name: protoc-gen-buffa
2 changes: 2 additions & 0 deletions plugins/anthropics/buffa/v0.3.0/.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.3.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# syntax=docker/dockerfile:1.19
FROM rust:1.91.1-alpine3.22 AS builder
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.

We should update this branch to latest main then we can update this image to the latest base image:

Suggested change
FROM rust:1.91.1-alpine3.22 AS builder
FROM rust:1.95.0-alpine3.23@sha256:606fd313a0f49743ee2a7bd49a0914bab7deedb12791f3a846a34a4711db7ed2 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.3.0 --locked --root /app

FROM gcr.io/distroless/static-debian12:latest@sha256:87bce11be0af225e4ca761c40babb06d6d559f5767fbf7dc3c47f0f1a466b92c AS base
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
FROM gcr.io/distroless/static-debian12:latest@sha256:87bce11be0af225e4ca761c40babb06d6d559f5767fbf7dc3c47f0f1a466b92c AS base
FROM gcr.io/distroless/static-debian13:latest@sha256:47b2d72ff90843eb8a768b5c2f89b40741843b639d065b9b937b07cd59b479c6 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"]
41 changes: 41 additions & 0 deletions plugins/anthropics/buffa/v0.3.0/buf.plugin.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
version: v1
name: buf.build/anthropics/buffa
plugin_version: v0.3.0
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.3.0/LICENSE
registry:
cargo:
rust_version: "1.85"
Comment thread
pkwarren marked this conversation as resolved.
deps:
# Runtime: wire format, Message trait, view types, JSON helpers.
# https://github.com/anthropics/buffa/blob/v0.3.0/buffa/Cargo.toml
- name: "buffa"
req: "0.3.0"
default_features: true
features:
- json
# 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.3.0"
default_features: true
features:
- json
# 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.
- views=true
Loading