feat: rollout
This commit is contained in:
14
docs/Rollout.md
Normal file
14
docs/Rollout.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Rollout
|
||||
|
||||
The rollout feature works together with the spore-registry.
|
||||
It provides an endpoint `/cluster/node/versions` to determin which version are installed on which nodes through the `version` label.
|
||||
A rollout can be started by calling the `/rollout` endpoint and providing a set of labels.
|
||||
The endpoint will then search the the corresponding firmware in the spore-registry and checks the cluster members that match the labels.
|
||||
The gateway will then upload the firmware that was found to the matching cluster members in the background. Rollout and upload progress is sent through websocket.
|
||||
Before the upload starts, the `version` label on the member node is updated with the firmware version from the registry.
|
||||
|
||||
The spore-ui provides a rollout button on each firmware version. When clicked, the existing drawer is shown with the Rollout panel.
|
||||
The gateway is consulted (endpoint `/cluster/node/versions`) o return the list of matching members that are affected by the rollout and displayed inside the Rollout panel.
|
||||
The button `Rollout` will, once clicked, trigger the `/rollout` endpoint with the label set of the selected firmware that needs to be rolled out.
|
||||
Rollout and upload progress is received through websocket and the Rollout panel updated in realtime.
|
||||
Any UI interaction is blocked during rollout and the UI behaves like the Firmware Deploy on the cluster view (also with backdrop and info message).
|
||||
Reference in New Issue
Block a user