Automatic updates are crucial to guarantee that all deployments are what they should be. The stable base makes bootc updates completely unproblematic.
The important variables are:
Unmetered Network
preset=yes
This is queried with nmcli, uBlue figured that out afaik.
This is crucial for phone hotspots, USB or Bluetooth tethering, and a warning needs to be displayed that their "metered" state needs to be changed manually.
They are all just registered as wifis or even etherned connections, for this system to work they need to be manually changed.
An interactive list showing the registered networks with checkboxes could be nice. Maybe there is a way to do this?
Battery State
preset=40
This is queried by reading a file. It should be above that percentage, otherwise an update might drain the battery and you lose important work.
This is a difficult one. What about desktop PC users? What about critical security updates?
The value can be changed to anything above 5% I think.
This may be setup in yafti, if the user uses a desktop PC.
AC Connected
preset=no
If an AC connection needs to be connected to work.
This could be used in a more complex function, that AC will allow updates even with a battery level below the minimum, but above like 5%
Implementation
The logic parts would need to be shell scripts I think, or some other programming language you think makes sense.
The different states could be used as systemd targets, with the updater being a systemd service depending on them.
This makes the system flexible
- scripts have variables defined, like the battery state
- 3 or more systemd targets get activated through them
- a systemd service does the automatic bootc and flatpak updates.
- a systemd timer can be used to set the update interval. The timer requires all, any or none of these targets to be active
This means the targets dont need to be disabled or anything, they can just be removed from the update timer.
Also the targets can be used for other things like enabling batterysaver mode, but this may duplicate functionality with other energy saving tools.
Automatic updates are crucial to guarantee that all deployments are what they should be. The stable base makes bootc updates completely unproblematic.
The important variables are:
### Unmetered Network
`preset=yes`
This is queried with `nmcli`, uBlue figured that out afaik.
This is crucial for phone hotspots, USB or Bluetooth tethering, and a warning needs to be displayed that their "metered" state needs to be changed manually.
They are all just registered as wifis or even etherned connections, for this system to work they need to be manually changed.
An interactive list showing the registered networks with checkboxes could be nice. Maybe there is a way to do this?
### Battery State
`preset=40`
This is queried by reading a file. It should be above that percentage, otherwise an update might drain the battery and you lose important work.
This is a difficult one. What about desktop PC users? What about critical security updates?
The value can be changed to anything above 5% I think.
This may be setup in yafti, if the user uses a desktop PC.
### AC Connected
`preset=no`
If an AC connection needs to be connected to work.
This could be used in a more complex function, that AC will allow updates even with a battery level below the minimum, but above like 5%
## Implementation
The logic parts would need to be shell scripts I think, or some other programming language you think makes sense.
The different states could be used as systemd targets, with the updater being a systemd service depending on them.
This makes the system flexible
- scripts have variables defined, like the battery state
- 3 or more systemd targets get activated through them
- a systemd service does the automatic bootc and flatpak updates.
- a systemd timer can be used to set the update interval. The timer requires all, any or none of these targets to be active
This means the targets dont need to be disabled or anything, they can just be removed from the update timer.
Also the targets can be used for other things like enabling batterysaver mode, but this may duplicate functionality with other energy saving tools.