Skip to content

chore: migrate to protoc#93

Merged
alienvspredator merged 1 commit intomainfrom
chore/migrate-to-protoc
Apr 23, 2026
Merged

chore: migrate to protoc#93
alienvspredator merged 1 commit intomainfrom
chore/migrate-to-protoc

Conversation

@alienvspredator
Copy link
Copy Markdown
Member

@alienvspredator alienvspredator commented Apr 15, 2026

buf uses a completely proprietary buf's-hosted BSR (Buf Schema Registry) for storing remote plugins and .proto-definitions. It silently locks us in on the buf vendor and their quotas.

In order to generate code with buf CLI, the tool does an RPC request to the remote registry, and sends all the code to their servers. It's a concern from the security standpoint.

Additionally, BSR quota on a public tier is 10 requests per hour, which means we can only run buf generate 10 times per hour.

We should be able to run the code generation locally and deterministically, independently on the vendor. This PR migrates code generation to the standard protoc compiler

chore: migrate to protoc

Summary by CodeRabbit

  • Chores
    • Restructured protocol buffer code generation workflow with updated build targets and tooling configuration.
    • Updated build system dependencies and documentation for installation and usage of required code generation tools.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 15, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6d619270-c40b-45b4-ac62-e05d548ac884

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • ✅ Review completed - (🔄 Check again to review again)

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 15, 2026

The latest Buf updates on your PR. Results from workflow Buf CI / buf (pull_request).

BuildFormatLintBreakingUpdated (UTC)
✅ passed✅ passed✅ passed❌ failed (11)Apr 23, 2026, 6:22 AM

@push-tags-from-workflow push-tags-from-workflow Bot added dependencies Pull requests that update a dependency file api dev-ops labels Apr 15, 2026
@alienvspredator alienvspredator force-pushed the chore/migrate-to-protoc branch from 0c3bbc0 to dfdb930 Compare April 15, 2026 06:32
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
README.md (1)

52-56: Consider removing $ from shell examples.

The markdownlint warnings about dollar signs are a stylistic choice. If you want to address them, you can remove the $ prefix since no output is shown.

📝 Optional: Remove dollar signs from shell examples
-``` sh
-$ protofetch -o vendor-proto fetch
+```sh
+protofetch -o vendor-proto fetch
Makefile (1)

25-32: The install-tools target is platform-specific.

This target assumes macOS with Homebrew. Consider documenting this limitation or providing alternative installation paths for other platforms (e.g., Linux package managers, direct downloads).

The README does mention alternative installation methods, so this may be acceptable if install-tools is intended as a convenience for macOS developers.


ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2e457f15-15be-444e-9d60-12492c431194

📥 Commits

Reviewing files that changed from the base of the PR and between a5894da and dfdb930.

⛔ Files ignored due to path filters (19)
  • go.sum is excluded by !**/*.sum
  • proto/kms/api/cmk/eventprocessor/task/v1/task.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/auth/v1/auth.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/auth/v1/auth_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/mapping/v1/mapping.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/mapping/v1/mapping_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/system/v1/system.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/system/v1/system_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/tenant/v1/tenant.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/registry/tenant/v1/tenant_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/rpc/v1/error_details.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/sessionmanager/oidcmapping/v1/oidcmapping.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/sessionmanager/oidcmapping/v1/oidcmapping_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/sessionmanager/session/v1/session.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/sessionmanager/session/v1/session_grpc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/types/v1/oidc.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/types/v1/region.pb.go is excluded by !**/*.pb.go
  • proto/kms/api/cmk/types/v1/status.pb.go is excluded by !**/*.pb.go
  • protofetch.lock is excluded by !**/*.lock
📒 Files selected for processing (29)
  • Makefile
  • README.md
  • buf.gen.yaml
  • buf.yaml
  • go.mod
  • proto/kms/api/cmk/eventprocessor/task/v1/task.pb.validate.go
  • proto/kms/api/cmk/eventprocessor/task/v1/task.proto
  • proto/kms/api/cmk/registry/auth/v1/auth.pb.validate.go
  • proto/kms/api/cmk/registry/auth/v1/auth.proto
  • proto/kms/api/cmk/registry/mapping/v1/mapping.pb.validate.go
  • proto/kms/api/cmk/registry/mapping/v1/mapping.proto
  • proto/kms/api/cmk/registry/system/v1/system.pb.validate.go
  • proto/kms/api/cmk/registry/system/v1/system.proto
  • proto/kms/api/cmk/registry/tenant/v1/tenant.pb.validate.go
  • proto/kms/api/cmk/registry/tenant/v1/tenant.proto
  • proto/kms/api/cmk/rpc/v1/error_details.pb.validate.go
  • proto/kms/api/cmk/rpc/v1/error_details.proto
  • proto/kms/api/cmk/sessionmanager/oidcmapping/v1/oidcmapping.pb.validate.go
  • proto/kms/api/cmk/sessionmanager/oidcmapping/v1/oidcmapping.proto
  • proto/kms/api/cmk/sessionmanager/session/v1/session.pb.validate.go
  • proto/kms/api/cmk/sessionmanager/session/v1/session.proto
  • proto/kms/api/cmk/types/v1/oidc.pb.validate.go
  • proto/kms/api/cmk/types/v1/oidc.proto
  • proto/kms/api/cmk/types/v1/region.pb.validate.go
  • proto/kms/api/cmk/types/v1/region.proto
  • proto/kms/api/cmk/types/v1/status.pb.validate.go
  • proto/kms/api/cmk/types/v1/status.proto
  • protofetch.toml
  • vendor-proto/buf/validate/validate.proto
💤 Files with no reviewable changes (12)
  • buf.gen.yaml
  • proto/kms/api/cmk/types/v1/region.pb.validate.go
  • proto/kms/api/cmk/types/v1/oidc.pb.validate.go
  • proto/kms/api/cmk/types/v1/status.pb.validate.go
  • proto/kms/api/cmk/sessionmanager/session/v1/session.pb.validate.go
  • proto/kms/api/cmk/registry/auth/v1/auth.pb.validate.go
  • proto/kms/api/cmk/sessionmanager/oidcmapping/v1/oidcmapping.pb.validate.go
  • proto/kms/api/cmk/rpc/v1/error_details.pb.validate.go
  • proto/kms/api/cmk/eventprocessor/task/v1/task.pb.validate.go
  • proto/kms/api/cmk/registry/mapping/v1/mapping.pb.validate.go
  • proto/kms/api/cmk/registry/system/v1/system.pb.validate.go
  • proto/kms/api/cmk/registry/tenant/v1/tenant.pb.validate.go

Comment thread go.mod
@alienvspredator alienvspredator merged commit cbe1ae1 into main Apr 23, 2026
9 of 11 checks passed
@alienvspredator alienvspredator deleted the chore/migrate-to-protoc branch April 23, 2026 12:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api buf skip breaking dependencies Pull requests that update a dependency file dev-ops

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants