Performing Updates
The core concept of the WindAutomat is to automate the update process. This is however not always straightforward. Therefore, a number of different levels of automation are available.
Level 0: Update Notifications
For systems where the automation of updates is not desired whatsoever, the WindAutomat can be used to notify administrators about available updates. Administrators can then take manual action to udpate the system. This can be useful for systems with rare updates and complicated update processes.
Level 1: Semi Automated Updates
In addition to level 0, the update process can be scripted but not triggered automatically. All the same methods are implemented but administrators have to manually kick off the update process. This is achieved by setting the auto_update field on the deployment or machine. To kick off the update process manually simply use the API method scheduleTask with the command performUpdate and the machine or deployment specific config.
Level 2: Full Self Driving
This level takes advantage of the full capabilities of the WindAutomat. Monitoring for available updates and automatically performing them at the configured CRON time, only requiring manual intervention when updates fail or get stuck.
Failed updates
When updates fail or get stuck because user input is required, WindAutomat will send a notification to the configured Matrix room. When user input is required, the notification will include a tmux session where the administrator can take over the process.
Update Policy
The following is a recommendation for which level to use for which type of system including the type of access an administrator should have when performing the update.
| System | Update Level | Access |
|---|---|---|
| Router, Hypervisor | 0 or 1 | Physical or KVM |
| Baremetal machine | 0 or 1 | Physical or KVM |
| Virtual machine | 0,1 or 2 | Access to the hypervisor |