Runner controller management API (Part 1) Runner controller APIs
See the blueprint being updated in this MR Update Runner Admission Controller design to al... (gitlab-com/content-sites/handbook!16358) for background info.
- We need to track runner controllers (AC) in a DB table.
- Runner controllers are identified by their ID in the table.
-
Runner controllers may have a name in the future.Not for now. - Runner controllers are instance-wide. We may have organization/group/project-scoped Runner controllers later but not for now.
- Each AC has 0 or more access tokens for authentication.
- Tokens can be added and/or deleted so that it's possible to rotate a token.
- Tokens do not expire. We cannot force expiration on users if we don't provide a way to automatically rotate the token because that creates toil (we are supposed to solve customer issues, not add to the pile). We must provide an API to rotate a token, which we do.
- Runner controller management API (Part 3): Add ... (#578794)
Proposal
Implement Runner controller APIs:
- List all AC: GET
/runner_controllers - Get detail: GET
/runner_controllers/:id - Create (Register): POST
/runner_controllers - Delete: DELETE
/runner_controllers/:id
Notes:
- Runner controllers and tokens do not need names.
- Runner controllers and tokens need a free-form optional text description field. Make sure to set a size limit.
Edited by Taka Nishida