supervisor
supervisor copied to clipboard
Add auto update option
Proposed change
Add an auto update setting for supervisor. There have been many requests about this in the forum and issues so should be valuable to users. The option will work as follows:
- Supervisor will not auto update while it is disabled
- Plugins cannot be updated while supervisor is out of date
- Addons and Home Assistant cannot be updated while supervisor or a plugin is out of date
- Addons cannot be installed when supervisor or a plugin is not up-to-date
- Backups track the version of supervisor they were made on. Cannot restore a backup made on a newer version of supervisor then what is running.
What's not covered by this:
- Plugins will continue to auto update as long as supervisor is up to date. Since plugins are effectively internal and not updated much restricting them from auto updating added too many complications. Users don't even know when a plugin update is available. Also if we do make a big change to a plugin it comes with a supervisor update most of the time so it won't auto update anyway.
- Manual updates are not restricted by this new option, it only prevents automatic updates
- Cannot install a particular version of supervisor or rollback. The supervisor version in backup just sets a validation minimum, it is not used during restore.
- Update checks continue. Users will still see update notifications but they won't be able to update. We may want to update core to improve the experience here as clicking install will simply generate an error.
Type of change
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [x] New feature (which adds functionality to the supervisor)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
Additional information
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request:
- API Doc: https://github.com/home-assistant/developers.home-assistant/pull/1434
- Unsupported Reason: https://github.com/home-assistant/home-assistant.io/pull/23733
- Link to cli pull request: https://github.com/home-assistant/cli/pull/357
Checklist
- [x] The code change is tested and works locally.
- [x] Local tests pass. Your PR cannot be merged unless tests pass
- [x] There is no commented out code in this PR.
- [x] I have followed the development checklist
- [x] The code has been formatted using Black (
black --fast supervisor tests
) - [x] Tests have been added to verify that the new code works.
If API endpoints of add-on configuration are added/changed:
- [ ] Documentation added/updated for developers.home-assistant.io
Note besides the TODOS, this shouldn't be merged until current supervisor beta goes stable. One thing at a time.
Let's copy/past rename freeze state to snapshot or backup
Let's copy/past rename freeze state to snapshot or backup
@pvizeli it's been renamed to auto update within the branch. Do you see it referred to as freeze somewhere still? Other then the branch name