Lifecycle of Release Runner
This topic describes the lifecycle, control commands, and the different states of a Release Runner, with regards to the availability of the Release server.
In the Release SaaS Edition, your Release instance includes a cloud-based Release Runner managed by Digital.ai. You can also install and connect your own on-prem runners using Docker or the xl kube install command. For more information, see Release SaaS - Limitations.
Token Expiry Handling
The runner token authenticates the Runner with Release. The registration response from Release includes the token expiry date, so the Runner can monitor its own token status instead of only discovering an expired token through a failed request. As the expiry date approaches, the Runner logs a warning 24 hours and again 12 hours before the token expires.
When the token expires, the Runner transitions to a controlled degraded state: it stops reserve requests instead of continuing to fail against the Release server.
After you renew the token, restart the Runner so it re-registers and receives the updated token expiry date. A running Runner does not pick up the new expiry date on its own.
Readiness and Liveness of Runners
Release Runner has two endpoints for readiness and liveness that checks for the current status of Runner's readiness and liveness respectively. These endpoints are used in the Kubernetes cluster to propagate container events and status.
- Runner is ready if it successfully registers against the Release server
- Runner is alive if the service starts
Additionally, Release server checks for the health of Runner by sending ping control command over an SSE channel. If ping is not received for more than 30 seconds, then the Runner will initiate a health check of the connection towards Release by restarting the SSE channel. In case the health check towards Release fails, the Runner will transition into the Idle state, attempting to recover the connections to Release.
Delete Runners
In case the Release Runner is deleted from the Release server configuration a Delete control command is sent to the Runner. This command will initiate shutdown of the Runner. However, before it's shutdown, it will do a clean-up of any data and configuration stored on the system. At the end of the shutdown process, it will exit and terminate the container.