Commit Graph
1047 Commits
Author SHA1 Message Date
Dan Helfman 468b2537f1 Add a "steps" option to run command hooks around particular sub-action steps like individual checks (#1134). 2025-09-26 14:40:27 -07:00
Dan Helfman 4f0162d5f2 Add loading of systemd credentials even when running borgmatic outside of a systemd service (#1123). 2025-09-24 10:34:20 -07:00
Dan Helfman 22b77a4262 Merge branch 'fix-borg-2-latest-archive' 2025-09-19 14:32:44 -07:00
Dan Helfman f15e8282ab Fix a broken "create" action and "--archive latest" flag when multiple archives share the same name with Borg 2 (#1146). 2025-09-19 14:30:33 -07:00
Dan Helfman a0e2a98735 Treat configuration file permissions issues as errors instead of warnings. 2025-09-19 10:31:31 -07:00
Dan Helfman 4ced5150f4 Merge branch 'main' into fix-borg-2-latest-archive 2025-09-18 19:25:49 -07:00
Dan Helfman a388b17271 No longer defaulting Dump(hostname=...) to "localhost" (#1116). 2025-09-18 19:22:45 -07:00
Dan Helfman f3d42d081e Merge branch 'main' into fix-borg-2-latest-archive 2025-09-17 23:00:27 -07:00
Dan Helfman da65063216 Make test code style more consistent with the rest of the codebase (#1116). 2025-09-17 21:55:36 -07:00
Florian Apolloner abad73d605 final round of fixes. 2025-09-17 20:17:31 +02:00
Florian Apolloner 4de879d86e address some review comments 2025-09-17 08:46:02 +02:00
Florian Apolloner 0e90087dc4 Finalize container support 2025-09-15 22:16:49 +02:00
Florian Apolloner 56a3f6d854 address more review comments 2025-09-15 20:02:31 +02:00
Florian Apolloner 8639b73f80 fix label handling and improve unittests 2025-09-15 20:02:31 +02:00
Florian Apolloner eef264dcc5 test improvements 2025-09-15 20:02:31 +02:00
Florian Apolloner b306cac5c1 raise ValueError if json decode fails when getting the container ip 2025-09-15 20:02:31 +02:00
Florian Apolloner 0d190016d3 rename utils.py to config.py 2025-09-15 20:02:31 +02:00
Florian Apolloner 3811a9f57b more test fixes and first stab at end-to-end tests 2025-09-15 20:02:31 +02:00
Florian Apolloner a2c9bb12e5 test fixes 2025-09-15 20:02:31 +02:00
Florian Apolloner 04cc58a5c7 fixes and more tests. 2025-09-15 20:02:31 +02:00
Florian Apolloner db1c6f548f add support for original-label and fix the tests from the previous changes. 2025-09-15 20:02:31 +02:00
Florian Apolloner 133a11c647 add support for container names/id when dumping databases. 2025-09-15 20:02:31 +02:00
Florian Apolloner c084f10fe2 Add support for a database backup label instead of host:port (#1116) 2025-09-15 20:02:31 +02:00
Dan Helfman 97cd3f20df Fix "--consider-checkpoints" being passed to Borg 2, which doesn't have that flag (#1146).
revert revert 0d198c7072

revert Fix "--consider-checkpoints" being passed to Borg 2, which doesn't have that flag (#1046).
2025-09-15 05:05:58 +00:00
Dan Helfman fd028d42d5 revert 0d198c7072
revert Fix "--consider-checkpoints" being passed to Borg 2, which doesn't have that flag (#1046).
2025-09-15 05:05:07 +00:00
Dan Helfman 0d198c7072 Fix "--consider-checkpoints" being passed to Borg 2, which doesn't have that flag (#1046). 2025-09-14 22:02:17 -07:00
Dan Helfman 084fbd2f16 PR "feedback": Adding a key to the dumps metadata JSON for clarity and expandability (#1136). 2025-09-14 15:30:07 -07:00
Dan Helfman 30b8aeb764 Merge branch 'main' into data-source-dump-metadata 2025-09-12 22:41:40 -07:00
Dan Helfman c4c40af812 Account for the case where "store_config_files: false" and the runtime directory never gets added to patterns to begin with (#1122). 2025-09-12 22:17:44 -07:00
Dan Helfman 5028fe9ff4 Bring doc string up to date and rename function for clarity. (#1122). 2025-09-12 14:03:52 -07:00
Dan Helfman f60007545b Update automated tests (#1122). 2025-09-12 12:54:38 -07:00
Dan Helfman b340ede9ac Merge branch 'main' into data-source-dump-metadata 2025-09-09 09:22:54 -07:00
Dan Helfman 85b198feb2 Get automated tests passing (#1143). 2025-09-08 23:16:27 -07:00
Dan Helfman 627898cc23 Add tests for new code. 2025-09-05 16:02:23 -07:00
Dan Helfman 46381175ef Code formatting. 2025-09-05 14:33:40 -07:00
Dan Helfman d7205694db Get existing restore tests passing (and add one test for the dumps metadata present case). 2025-09-05 14:21:53 -07:00
Dan Helfman 9bbce71673 Fix tests for database hooks. 2025-09-04 10:36:00 -07:00
Dan Helfman 563cb8441e When making HTTP requests in monitoring hooks, set "borgmatic" as the user agent (#1139). 2025-09-01 16:51:33 -07:00
Dan Helfman 36d6619099 Create LVM snapshots as read-write to avoid an error when snapshotting ext4 filesystems with orphaned files that need recovery (#1126). 2025-08-11 10:01:13 -07:00
Dan Helfman 2d8b455e44 Switched from pipx to uv for installing development tools, and added tox-uv for speeding up test environment creation. 2025-07-18 15:16:45 -07:00
Dan Helfman 9a80fec91b When running tests, use Ruff for faster and more comprehensive code linting and formatting. 2025-07-17 23:24:58 -07:00
Dan Helfman ea72f1c367 Fix a bug in which Borg hangs during database backup when different filesystems are in use (#1118). 2025-07-15 13:05:03 -07:00
Dan Helfman 34f677dba1 Add a flake8 plugin that enforces a blank line after if/for/while/with/try blocks. 2025-06-30 22:04:05 -07:00
Dan Helfman 3eed3191e8 Add a flake8 extension to tests to detect commented out code. 2025-06-30 21:42:38 -07:00
Dan Helfman 1b62be0949 Fix a bug in which quoted "extra_borg_options" values containing spaces are passed to Borg incorrectly. Add a "--comment" flag to the "create" action for creating an archive with a comment (#1108). 2025-06-30 16:16:53 -07:00
Dan Helfman 0d54fda27a Use the Bandit security analysis tool when running tests.
SECURITY: Add timeouts to all monitoring hooks to prevent hangs on network requests.
SECURITY: For the "spot" check, use a more secure source of randomness when selecting paths to check.
2025-06-27 22:30:00 -07:00
Dan Helfman 05b34d4b56 Fix unit/integration tests and add coverage (#1043). 2025-06-27 12:37:03 -07:00
Tobias SchlatterandDan Helfman 123f8958f6 Create a checkpoint archive first with streaming processes (#1032).
This ensures that if a streaming process fails, we do not create a
real (i.e. non-checkpoint archive), (fixes #1032).

Without this, there is a race condition where borg already creates an
archive before borgmatic can kill it.

Tested locally (with `pipx install --editable .`):

```sh
borgmatic --config config.yaml create
borgmatic --config config.yaml create --json
```

## Hold up!

Thanks for your contribution. Unfortunately, we don't use GitHub pull requests to manage code contributions to this repository (and GitHub doesn't have any way to disable pull requests entirely). Instead, please see:

https://torsion.org/borgmatic/#contributing

... which provides full instructions on how to submit pull requests. You can even use your GitHub account to login.

Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1102
Reviewed-by: Dan Helfman <witten@torsion.org>
Co-authored-by: Tobias Schlatter <schlatter.tobias@gmail.com>
Co-committed-by: Tobias Schlatter <schlatter.tobias@gmail.com>
2025-06-25 16:24:07 +00:00
Nish_ df64794115 test yes/YES for env vars
Signed-off-by: Nish_ <120EE0980@nitrkl.ac.in>
2025-06-08 15:07:03 +05:30
Nish_and120EE0980 fede523dae enhance passphrase handling
Signed-off-by: Nish_ <120EE0980@nitrkl.ac.in>
2025-06-08 09:31:13 +00:00