Closed
Description
Feature Description
My idea is to
- add a Ephemeral field to the database structure of the Runner
- when the Ephemeral field is true let FetchTask return no task without error if the assigned task is in progress
- when the Ephemeral field is true let FetchTask return no task with an error if the assigned task is in done, and remove the runner from the database.
- UpdateTask and UpdateLog scope access to runnerid
- Update the runnerv1 protocol to have an Ephemeral field as well during registration
- Update act_runner to have the ephemeral flag, which implies run-once
This proposal would allow to securely deploy a registred host-mode act_runner in a VM and reset the same after job exit.
Some of my idea has been scetched in https://github.com/ChristopherHX/gitea/tree/ephemeral-runners.
Protocol proposal here: https://gitea.com/gitea/actions-proto-def/pulls/14
Read more here: https://gitea.com/gitea/act_runner/issues/19#issuecomment-932880
Screenshots
No response