# kmsvc-proto Shared `kafkamgmt.v1` proto contract and generated Go code for the Kafka Management Service ecosystem (`kafaka_management_service`, `kmsvc-sdk`, `kmsvc-cli`). This repo ships **`.proto` source + pre-generated, committed Go code** (`gen/kafkamgmt/v1`). Generation happens once here, in this repo, not in every consumer. Consumers never install `buf`/`protoc` plugins — they just `go get` this module like any other Go dependency. ## Consuming this repo ```bash export GOPRIVATE=forgejo.riotpiao.homelab.com # skip public proxy/sumdb for this host go get forgejo.riotpiao.homelab.com/rock/kmsvc-proto@v1.0.0 ``` ```go import kafkamgmtv1 "forgejo.riotpiao.homelab.com/rock/kmsvc-proto/gen/kafkamgmt/v1" ``` ## Updating the contract ```bash # edit proto/kafkamgmt/v1/queue_service.proto buf lint buf generate # regenerates gen/ in place go build ./... git add -A && git commit -m "..." && git tag vX.Y.Z && git push --tags ``` CI (`buf-lint-and-breaking`) gates lint + breaking-change checks. CI (`codegen-check`) re-runs `buf generate` and fails if `gen/` doesn't match what's committed — never hand-edit `gen/`. See `PLAN.md` for the full rollout plan (tagging convention, server/SDK/CLI migration). # Final test - clean cache removal