feat: add CI/release automation and complete SDK implementation

- Add Forgejo CI workflow: gofmt checks, module caching, coverage reporting
- Add release workflow: auto-tag-triggered release with changelog extraction
- Update module paths from rock/ to homelab/ namespace
- Enhance test coverage and documentation (PLAN.md, README.md)

Co-Authored-By: Claude Haiku 4.5 <[email protected]>
This commit is contained in:
riotpiaole
2026-06-29 13:34:22 -07:00
co-authored by Claude Haiku 4.5
parent 6ef58c108f
commit e4017aea9e
13 changed files with 137 additions and 20 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# kmsvc-sdk
Go client SDK for the Kafka Management Service message-plane API (`kafkamgmt.v1`). Wraps the generated gRPC client from [kmsvc-proto](https://forgejo.riotpiao.homelab.com/rock/kmsvc-proto) with ergonomic Go methods, bearer-token attachment, and long-poll handling — callers never touch raw protobuf types or gRPC metadata.
Go client SDK for the Kafka Management Service message-plane API (`kafkamgmt.v1`). Wraps the generated gRPC client from [kmsvc-proto](https://forgejo.riotpiao.homelab.com/homelab/kmsvc-proto) with ergonomic Go methods, bearer-token attachment, and long-poll handling — callers never touch raw protobuf types or gRPC metadata.
Queue lifecycle (create/delete/configure) is managed via the Queue CRD on the cluster, not this SDK — see `kafaka_management_service` design.md §2a/§2b.
@@ -8,7 +8,7 @@ Queue lifecycle (create/delete/configure) is managed via the Queue CRD on the cl
```bash
export GOPRIVATE=forgejo.riotpiao.homelab.com # self-hosted Forgejo, skip public proxy/sumdb
go get forgejo.riotpiao.homelab.com/rock/kmsvc-sdk@latest
go get forgejo.riotpiao.homelab.com/homelab/kmsvc-sdk@latest
```
## Usage