Repository navigation
Commit c7461f3
committed
fix(controlplane): remove the RobotAccountService/Create RPC (CP-N4)
Robot accounts are superseded by workflow-scoped API tokens, which offer the
same per-workflow granularity plus a finite expiration, revocation coverage and
an explicit policy set. Creation was removed from the CLI in 2024 (#890, #894)
and has had no caller in any Chainloop component since: no reference in the CLI,
the frontend or the platform backend, only generated stubs.
Removing the RPC removes the escalation at the root rather than restricting who
may reach it. Deleted: the proto method and its request/response messages, the
service handler, RobotAccountUseCase.Create, RobotAccountRepo.Create, and the
now-orphaned authConf field on the use case (regenerated wire accordingly). The
RobotAccount.JWT field went with it, since only the deleted creation path ever
set it.
List and Revoke are deliberately kept. Existing robot accounts never expire and
still authenticate for attestation through RobotAccountUseCase.FindByID, so
inventory and revocation must stay available to retire them; removing Revoke
would strand permanent credentials with no kill switch.
The robot-account integration test now seeds through the ent client, since
creation is no longer reachable from the use case, and continues to cover
revocation.
This is a wire-breaking change: a pre-2024 client still calling
RobotAccountService/Create receives Unimplemented instead of a credential.
Assisted-by: Claude Code
Signed-off-by: Miguel Martinez Trivino <miguel@chainloop.dev>1 parent acdf967 commit c7461f3
18 files changed
Lines changed: 59 additions & 879 deletions
File tree
- app/controlplane
- api
- controlplane/v1
- gen
- frontend/controlplane/v1
- jsonschema
- cmd
- internal/service
- pkg
- authz
- biz
- testhelpers
- data
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
25 | 28 | | |
26 | | - | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
30 | 32 | | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
37 | | - | |
38 | | - | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | 33 | | |
51 | 34 | | |
52 | 35 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments