Commit Graph

154 Commits (dev)

Author SHA1 Message Date
Erik Montnemery 0260a03447
Store information about add-ons and folders which could not be backed up (#145367)
* Store information about add-ons and folders which could not be backed up

* Address review comments
2025-05-26 16:07:33 +02:00
Michael 086e97821f
Add automatic backup event entity to Home Assistant Backup system (#145350)
* add automatic backup event entity

* add tests

* fix test

* Apply suggestions from code review

Co-authored-by: Josef Zweck <josef@zweck.dev>

* implement _handle_coordinator_update

* add translations for event attributes

* simplify condition

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-23 17:01:57 +02:00
Erik Montnemery dd00d0daad
Improve failing backup repair messages (#145388) 2025-05-21 16:16:50 +02:00
Erik Montnemery 00a1d9d1b0
Improve comment explaining planned backup store version bump (#145368) 2025-05-21 13:22:05 +02:00
Erik Montnemery eb85185072
Minor code deduplication in backup manager (#145366) 2025-05-21 10:19:53 +02:00
Erik Montnemery 8e74f63d47
Create repair issue if not all add-ons or folders were backed up (#144999)
* Create repair issue if not all add-ons or folders were backed up

* Fix spelling

* Fix _collect_errors

* Make time patching by freezegun work with mashumaro

* Addd test to hassio

* Add fixture

* Fix generating list of folders

* Add issue creation tests

* Include name of failing add-on in message

* Improve code formatting

* Rename AddonError to AddonErrorData
2025-05-20 15:23:52 +02:00
Erik Montnemery 2c8e33558e
Catch and log unexpected backup ciphering errors (#144531) 2025-05-09 09:55:32 +02:00
Erik Montnemery 42f53ff917
Don't encrypt or decrypt unknown files in backup archives (#144495) 2025-05-08 22:30:35 +02:00
Michael 58906008b9
Add last attempted automatic backup sensor (#144194)
add last_attempted_automatic_backup sensor
2025-05-05 10:39:06 +02:00
Jan-Philipp Benecke 93f4f14b2a
Default backup encryption to true when updating only location retention (#143997) 2025-04-30 22:45:41 +01:00
Martin Hjelmare 5392062edd
Add backup agent retention config (#143174) 2025-04-28 09:24:23 +02:00
Erik Montnemery 4eda081574
Remove unnecessary error handling from backup onboarding (#142786) 2025-04-12 11:01:41 +02:00
Erik Montnemery 234c4c1958
Move backup backup onboarding API to an onboarding platform (#142713)
* Move backup backup onboarding API to an onboarding platform

* Move additional test from onboarding to backup

* Remove backup tests from onboarding
2025-04-12 09:41:54 +02:00
Norbert Rittel 0eeb6b5fd5
Replace "Idle" with common state in `backup`, fix sentence-case (#141814)
* Replace "Idle" with common state in `backup`, fix sentence-case

* Update test_sensors.ambr
2025-03-30 14:56:36 +02:00
Michael d954d04d12
Add diagnostics for Home Assistant Backup integration (#141407)
add diagnostics platform
2025-03-26 08:34:15 +01:00
Erik Montnemery 36d32eaabc
Improve backup exclude filters (#141311)
* Improve backup exclude filters

* Add comment
2025-03-25 09:52:45 +01:00
Michael e96e95c32d
Add sensor platform to backup integration (#138663)
* add sensor platform to backup integration

* adjust namings, remove system integration flag

* add first simple test

* apply review comments

* fix test

* add sensor tests

* adjustements to use backup helper

* remove obsolet async_get_manager from init

* unsubscribe from events on entry unload

* add configuration_url

* fix doc string

* fix sensor tests

* mark async_unsubscribe as callback

* set integration_type service

* extend sensor test

* set integration_type on correct integration :)

* fix after online conflict resolution

* add sensor update tests

* simplify the sensor update tests

* avoid io during tests

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-24 12:54:16 +01:00
Erik Montnemery 05c61b7ec3
Rename BackupManager last_non_idle_event to last_action_event (#140291)
* Rename BackupManager last_non_idle_event to last_action_event

* Update snapshots
2025-03-19 17:28:40 +01:00
Erik Montnemery 219b441be0
Don't allow creating backups if Home Assistant is not running (#139499)
* Don't allow creating backups if hass is not running

* Revert "Don't allow creating backups if hass is not running"

This reverts commit 1bf545eb25.

* Set backup manager to idle only after Home Assistant has started

* Update according to discussion, add tests

* Add more test
2025-03-10 14:40:08 +01:00
Erik Montnemery 6ba45a32c0
Update typing of `BackupAgent.async_get_backup` (#139923)
* Update typing of BackupAgent.async_get_backup

* Remove manual reset of frame helper
2025-03-06 17:25:34 +01:00
Erik Montnemery e55757dc82
Simplify error handling in BackupAgent when a backup is not found (#139754)
Simplify error handling in BackupAgent when backup is not found
2025-03-04 15:56:12 +01:00
Erik Montnemery 228a4eb391
Improve error handling in CoreBackupReaderWriter (#139508) 2025-02-28 14:25:35 +01:00
Erik Montnemery ee01aa73b8
Improve error message when failing to create backups (#139262)
* Improve error message when failing to create backups

* Check for expected error message in tests
2025-02-26 13:44:09 +01:00
Erik Montnemery a910fb879c
Bump securetar to 2025.2.1 (#139273) 2025-02-25 19:23:32 +02:00
Martin Hjelmare 27f7085b61
Create repair for configured unavailable backup agents (#137382)
* Create repair for configured not loaded agents

* Rework to repair issue

* Extract logic to config function

* Update test

* Handle empty agend ids config update

* Address review comment

* Update tests

* Address comment
2025-02-25 16:27:56 +01:00
Erik Montnemery bf190a8a73
Add backup helper (#139199)
* Add backup helper

* Add hassio to stage 1

* Apply same changes to newly merged `webdav` and `azure_storage` to fix inflight conflict

* Address comments, add tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-02-25 10:19:41 +01:00
Erik Montnemery 351e594fe4
Add flag to backup store to track backup wizard completion (#138368)
* Add flag to backup store to track backup wizard completion

* Add comment

* Update hassio tests

* Update tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-02-24 17:14:47 +01:00
Erik Montnemery 0d8c449ff4
Validate hassio backup settings (#138880)
* Validate hassio backup settings

* Add snapshots

* Don't reset addon and folder settings

* Adapt to changes in BackupConfig.update
2025-02-20 16:06:33 +01:00
Martin Hjelmare 119b296c26
Make backup config update a callback (#138925) 2025-02-20 11:11:34 +00:00
Erik Montnemery ad7780291e
Correct backup date when reading a backup created by supervisor (#138860) 2025-02-19 22:40:03 +01:00
Erik Montnemery b70c5710a9
Correct invalid automatic backup settings when loading from store (#138716)
* Correct invalid automatic backup settings when loading from store

* Improve docstring

* Improve tests
2025-02-19 16:24:30 +01:00
Erik Montnemery 22c634e626
Don't allow setting backup retention to 0 days or copies (#138771)
* Don't allow setting backup retention to 0 days or copies

* Add tests
2025-02-18 15:16:44 +01:00
Erik Montnemery 10180cd464
Fix BackupManager.async_delete_backup (#138286) 2025-02-11 14:53:07 +01:00
Erik Montnemery e1817d466e
Keep one backup per backup agent when executing retention policy (#138189)
* Keep one backup per backup agent when executing retention policy

* Add tests

* Use defaultdict instead of dict.setdefault

* Update hassio tests
2025-02-10 18:09:57 +02:00
Abílio Costa c2bb376c43
Handle generic agent exceptions when getting and deleting backups (#138145)
* Handle generic agent exceptions when getting backups

* Update hassio test

* Update delete_backup
2025-02-10 01:31:55 +01:00
Erik Montnemery 2f116eab9e
Adjust logic for per-backup agent encryption (#137420) 2025-02-05 12:14:06 +01:00
Erik Montnemery 27b96160e2
Adjust backup filename scheme (#137424)
* Adjust backup filename scheme

* Update tests
2025-02-05 12:02:58 +01:00
Erik Montnemery bfbf95f515
Allow creating backup if at least one agent is available (#137409) 2025-02-05 10:14:39 +01:00
Erik Montnemery eb5036854f
Improve error handling when supervisor backups are deleted (#137331)
* Improve error handling when supervisor backups are deleted

* Move exception definitions
2025-02-04 19:49:55 +01:00
Erik Montnemery 5629b995ce
Include extra metadata in backup WS API (#137296)
* Include extra metadata in backup WS API

* Update onboarding backup view

* Update google_drive tests
2025-02-04 15:57:30 +01:00
Erik Montnemery ffc6aa0035
Report progress while restoring supervisor backup (#137313) 2025-02-04 12:55:36 +00:00
Erik Montnemery ca53d97a6d
Improve shutdown of _CipherBackupStreamer (#137257)
* Improve shutdown of _CipherBackupStreamer

* Catch the right exception
2025-02-04 12:24:30 +01:00
Erik Montnemery 650351a7f3
Report progress while creating supervisor backup (#137301)
* Report progress while creating supervisor backup

* Use enum util
2025-02-04 11:36:03 +01:00
Erik Montnemery 065cdf421f
Delete old addon update backups when updating addon (#136977)
* Delete old addon update backups when updating addon

* Address review comments

* Add tests
2025-01-31 13:33:48 -05:00
Erik Montnemery 64f679ba8f
Make supervisor backup file names more user friendly (#137020) 2025-01-31 18:20:30 +01:00
Erik Montnemery e18dc063ba
Make backup file names more user friendly (#136928)
* Make backup file names more user friendly

* Strip backup name

* Strip backup name

* Underscores
2025-01-31 17:33:30 +01:00
Joost Lekkerkerker c3b0bc3e0d
Show name of the backup agents in issue (#136925)
* Show name of the backup agents in issue

* Show name of the backup agents in issue

* Update homeassistant/components/backup/manager.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-01-30 18:15:54 +01:00
Erik Montnemery bab616fa61
Fix handling of renamed backup files in the core writer (#136898)
* Fix handling of renamed backup files in the core writer

* Adjust mocking

* Raise BackupAgentError instead of KeyError in get_backup_path

* Add specific error indicating backup not found

* Fix tests

* Ensure backups are loaded

* Fix tests
2025-01-30 15:25:16 +01:00
Erik Montnemery aca9607e2f
Bump backup store to version 1.3 (#136870)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-01-29 14:58:06 -06:00
Erik Montnemery 5286bd8f0c
Persist hassio backup restore status after core restart (#136857)
* Persist hassio backup restore status after core restart

* Remove useless condition
2025-01-29 13:55:02 -05:00