Dan Helfman
f60007545b
Update automated tests ( #1122 ).
2025-09-12 12:54:38 -07:00
Dan Helfman
947dc77a50
Always error and exit when the borgmatic runtime directory overlaps with the configured excludes ( #1122 ).
2025-09-12 11:21:11 -07:00
Dan Helfman
21ab371e9f
Clarify documentation about ZFS, Btrfs, and LVM snapshotting when a separate filesystem is mounted in the source directory.
2025-09-09 16:05:34 -07:00
Dan Helfman
b340ede9ac
Merge branch 'main' into data-source-dump-metadata
2025-09-09 09:22:54 -07:00
Dan Helfman
82e962eae2
Include bootstrapped configuration files in spot check ( #1143 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1143
2025-09-09 16:19:20 +00:00
Dan Helfman
85b198feb2
Get automated tests passing ( #1143 ).
2025-09-08 23:16:27 -07:00
Dan Helfman
e3f4b79e76
Fix the "spot" check to include borgmatic configuration files that were backed up to support the "bootstrap" action ( #1133 ).
2025-09-08 12:16:59 -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
6a1f2a4c86
Add SQLite dump metadata.
2025-09-03 20:20:11 -07:00
Dan Helfman
5a45a0cbc0
Add NEWS entry for dumps metadata.
2025-09-03 19:35:13 -07:00
Dan Helfman
03e3e0f5dd
Add MongoDB dumps metadata.
2025-09-03 19:31:54 -07:00
Dan Helfman
d40f728410
Add MySQL dump metadata.
2025-09-03 19:21:47 -07:00
Dan Helfman
049132377c
Add MariaDB dumps metadata.
2025-09-03 18:54:49 -07:00
Dan Helfman
fca647b3ae
Fix broken fallback to dump path introspection when dumps.json is missing. Also add additional logging.
2025-09-03 16:52:26 -07:00
Dan Helfman
e02c4be493
Add error handling docstrings.
2025-09-03 14:52:53 -07:00
Dan Helfman
b45c9628e7
Error handling.
2025-09-03 14:49:09 -07:00
Dan Helfman
09d702ee88
Merge branch 'main' into data-source-dump-metadata
2025-09-03 10:21:18 -07:00
Dan Helfman
eb971694bb
PR feedback.
2025-09-03 10:20:53 -07:00
Dan Helfman
f1a008ee18
Rephrase NEWS entry for clarity ( #1139 ).
2025-09-02 09:47:53 -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
030abfa13c
Read and write data source dump metadata files within an archive.
2025-08-27 15:53:42 -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
5f468c4261
Use borg compact --dry-run in Borg 1.2.9+.
2025-08-04 21:41:19 -07:00
Dan Helfman
88ecb96b98
Document systemd configuration changes for the ZFS filesystem hook ( #1114 ).
2025-07-18 21:32:49 -07:00
Dan Helfman
099d30f044
Only run Python 3.9 and 3.13 in end-to-end tests since 3.11 has issues in Alpine.
2025-07-18 17:25:31 -07:00
Dan Helfman
5439e616f8
Hopefully fix end-to-end tests broken due to uv changes.
2025-07-18 17:09:48 -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
1a33e5fa1e
Bump version for release.
2.0.7
2025-06-30 18:04:06 -07:00
Dan Helfman
c2d2ce18a2
Clarify documentation about interacion between "--repository" flag and command hooks ( #1112 ).
2025-06-30 18:02:02 -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
392fbcd19f
Add missing Bandit configuration file.
2025-06-27 23:00:35 -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
1e6fba6e99
Ignore Btrfs subvolumes whose read-only status can't be determined ( #1048 ).
2025-06-27 19:41:14 -07:00
Dan Helfman
a1b14d58af
Support Btrfs subvolume paths in "source_directories" even when the subvolume is mounted elsewhere ( #1043 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1113
2025-06-28 02:23:19 +00:00
Dan Helfman
6058efbaac
Clarify NEWS entry ( #1043 ).
2025-06-27 19:21:10 -07:00
Dan Helfman
05b34d4b56
Fix unit/integration tests and add coverage ( #1043 ).
2025-06-27 12:37:03 -07:00
Dan Helfman
5f6173ab24
Clarify Btrfs subvolume path vs. mount point documentation ( #1043 ).
2025-06-25 22:43:14 -07:00
Dan Helfman
6f92ae2462
Add documentation for "raw" Btrfs subvolume paths ( #1043 ).
2025-06-25 22:34:14 -07:00
Dan Helfman
df383be8a2
Merge branch 'main' into btrfs-raw-subvolumes
2025-06-25 15:37:56 -07:00
Dan Helfman
11da378304
Update GitHub pull request template, because it also shows up on Gitea apparently.
2025-06-25 15:37:20 -07:00
Dan Helfman
65ce7309f1
Initial WIP-level work on supporting snapshots of "raw" Btrfs subvolumes.
2025-06-25 15:29:03 -07:00
Dan Helfman
0cae581014
Add fix for failing database hook creating archive to NEWS ( #1032 ).
2025-06-25 09:27:38 -07:00
Tobias Schlatter and Dan 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