Commit graph

39 commits

Author SHA1 Message Date
Jakub Trávník
dc5c88efcd feat(auth): add authentication middleware to export controller 2025-12-23 00:26:37 +01:00
Jakub Trávník
630b34ee10
Merge branch 'main' into config-export-feature 2025-12-23 00:22:17 +01:00
Nico
ac9de54a7b
fix: allow arbitrary name for repositories and correctly import existing local repos (#197)
* fix: allow arbitrary name for repositories and correctly import existing local repos

* chore: rebase conflicts
2025-12-22 20:50:53 +01:00
Jakub Trávník
512bee535a Merge remote-tracking branch 'upstream/main' into config-export-feature 2025-12-22 17:00:59 +01:00
Nico
8cdd06ec49
fix(stop): always update status to warning when stop is executed (#202)
* fix(stop): always update status to warning when stop is executed

* fix: automatically put in_progress backups to warning during startup
2025-12-21 14:25:45 +01:00
Nico
94f49e2022
refactor: separate healthcheck and auto remount in two separate jobs (#179)
* refactor: separate healthcheck and auto remount in two separate jobs

* fix: try catch in volume auto remount
2025-12-18 23:03:41 +01:00
Nico
a17da2562f
refactor(startup): ensure entities always use the latest configuration format (#173)
* refactor(startup): ensure entities always use the latest configuration schema

* refactor: await config updates to avoid race condition on later mount
2025-12-18 18:11:39 +01:00
Jakub Trávník
b55bebf8f4 Merge upstream/main into config-export-feature 2025-12-16 13:19:45 +01:00
Jakub Trávník
ded9d935ce Merge main into config-export-feature 2025-12-16 13:07:00 +01:00
Jakub Trávník
66f8ff0e50 few missing corrections related to all users export instead of just admin 2025-12-16 12:47:20 +01:00
Jakub Trávník
63f67b3b30 corrected schema for export after changes 2025-12-16 11:48:55 +01:00
Jakub Trávník
bf36f9aa56 reduced the scope of PR to MVP - exportAll only 2025-12-16 11:39:35 +01:00
Nico
361311285a
refactor: remove docker volum plugin functionnality (#137) 2025-12-14 11:07:32 +01:00
Jakub Trávník
a7e36e98d7 Add 401 error response for password requirement in export endpoints 2025-12-03 08:33:50 +01:00
Jakub Trávník
9f1a7694a3 fix: Entity lookup and frontend mutation patterns for config export
- Fix volumes/repositories export to prefer name lookup over ID
- Fallback to list+filter when only ID provided (services expect name)
- Refactor ExportDialog to use generated mutations instead of manual fetch
- Remove standalone /auth/verify-password endpoint (integrated into exports)
2025-12-03 00:12:34 +01:00
Jakub Trávník
2dfa15a83a remove redundant type key from exported objects 2025-12-02 11:47:26 +01:00
Nico
9b46737852
refactor(repositories): add a locking mechanism for restic operations (#94)
* refactor(repositories): add a locking mechanism for restic operations

* fix: add missing lock in list repositories
2025-12-01 19:47:21 +01:00
Jakub Trávník
2b6cd7af2c possibly handle nested secrets in arrrays 2025-12-01 17:15:18 +01:00
Jakub Trávník
7dab73e9bd More verbose error logging for notification and backups export errors 2025-12-01 17:10:12 +01:00
Jakub Trávník
eaca5abde5
Input validation and error handling for secretsMode param
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 17:07:24 +01:00
Jakub Trávník
7f966b504b
Explicit warning regarding volume secrets
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 17:02:50 +01:00
Jakub Trávník
c736657ffe
Error logging on repositories export failure
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 16:59:59 +01:00
Jakub Trávník
30047cbcf0 audit logging on recoveryKey export 2025-12-01 16:56:59 +01:00
Jakub Trávník
11646b6187 Merge branch 'config-export-feature' of https://github.com/tvarohohlavy/zerobyte into config-export-feature 2025-12-01 16:24:35 +01:00
Jakub Trávník
a9ac6eec20 rename API endpoints for backups and notifications 2025-12-01 16:24:15 +01:00
Jakub Trávník
2306df316e
Error logging on failed to decrypt
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 16:17:05 +01:00
Jakub Trávník
4536f8a613 input validation in fetchRepositories 2025-12-01 16:14:43 +01:00
Jakub Trávník
95342f6ec9
Update app/server/modules/lifecycle/config-export.controller.ts
More verbose error handling

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 15:55:09 +01:00
Jakub Trávník
1b874727e3
Update app/server/modules/lifecycle/config-export.controller.ts
More verbose error handling

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-01 15:53:12 +01:00
Jakub Trávník
3df892455f optionaly exclude runtime info 2025-12-01 11:29:39 +01:00
Jakub Trávník
2be65f6069 config export feature 2025-12-01 10:59:30 +01:00
Nico
9a9991eb9b
restore as a page (#87)
* feat: add custom restore target directory

Adds the ability to restore snapshots to a custom directory instead of
only the original path. Closes #12.

Changes:
- Add target parameter to restore API endpoint
- Add directory picker UI in file browser restore dialog
- Add target input field in snapshot restore form
- Create reusable PathSelector component

Note: Run `bun run gen:api-client` after merging to regenerate types.

* refactor: path selector design

* refactor: unify restore snapshot dialogs

* refactor: restore snapshot as a page

* chore: fix liniting issues

* chore(create-notification): remove un-used prop

---------

Co-authored-by: Deepseek1 <Deepseek1@users.noreply.github.com>
2025-11-30 16:43:34 +01:00
Nicolas Meienberger
58708cf35d refactor: repo healthcheck once per day
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-29 12:25:46 +01:00
Nico
673827f9f3
refactor: all timestamps to ms (#77)
* refactor: change all timestamps to be in miliseconds

* chore: format files

* chore: fix syntax error
2025-11-26 23:20:22 +01:00
Nicolas Meienberger
4328607cc1 fix: skip renaming imported repository
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
2025-11-26 22:20:42 +01:00
Nico
b26a062648
refactor: use short ids to allow changing the name of volumes & repos (#67)
Some checks failed
Release Workflow / determine-release-type (push) Has been cancelled
Release Workflow / build-images (push) Has been cancelled
Release Workflow / publish-release (push) Has been cancelled
* refactor: use short ids to allow changing the name of volumes & repos

* refactor: address PR feedbacks

* fix: make short_id non null after initial population
2025-11-26 19:47:09 +01:00
Nicolas Meienberger
0e4c302620 refactor: make healthchecks less expensive 2025-11-20 18:50:40 +01:00
Nicolas Meienberger
6e6becec3b refactor(breadcrumbs): use handler & match pattern 2025-11-13 22:28:53 +01:00
Nico
95a0d44b45
refactor: unify backend and frontend servers (#3)
* refactor: unify backend and frontend servers

* refactor: correct paths for openapi & drizzle

* refactor: move api-client to client

* fix: drizzle paths

* chore: fix linting issues

* fix: form reset issue
2025-11-13 20:11:46 +01:00