headscale/proto
Ryan Malloy 9ca200b6bc oidc groups: expose Groups through the gRPC API
The Groups column is already persisted on users.User (migration
202505141323) and populated from claims.Groups in FromClaim. This
makes the value visible through the gRPC/REST surface so external
tools (notably Headplane, which is the motivation for storing the
claim in the first place) can read group membership without
poking at the database.

- proto/headscale/v1/user.proto: add `repeated string groups = 9;`
  with a doc comment describing where the value comes from.
- gen/go/headscale/v1/user.pb.go,
  gen/openapiv2/headscale/v1/headscale.swagger.json: regenerated
  via `buf generate --template ../buf.gen.yaml -o .. ../proto`.
- hscontrol/types/users.go: populate v1.User.Groups in Proto() by
  decoding the JSON-encoded users.groups column via GetGroups().
- integration/oidc_groups_test.go: drop the sqlite3-via-Execute hack
  and verify groups through headscale.ListUsers() like every other
  user-state integration test.
2026-05-21 21:29:54 -06:00
..
headscale/v1 oidc groups: expose Groups through the gRPC API 2026-05-21 21:29:54 -06:00
buf.lock hscontrol: remove go-grpc-middleware v1 dependency (#2653) 2025-06-23 16:57:20 +02:00
buf.yaml Create an initial gRPC service 2021-10-26 20:37:37 +00:00