Dan Helfman
55520227dd
Merge branch 'main' into command-hook-steps
2025-09-26 15:30:13 -07:00
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
1192451718
Fix snapshotting in the ZFS, Btrfs, and LVM hooks to play nicely with the Borg 1.4+ "slashdot" hack within source directory paths ( #1151 ).
2025-09-25 10:24:12 -07:00
Dan Helfman
06e24dfbc1
Fix incomplete documentation description.
2025-09-24 23:14:24 -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
ed58bc2943
Attempt to fix CI build broken due to missing schema file ( #1149 ).
2025-09-22 21:16:03 -07:00
Dan Helfman
cab6c3ee9b
Include automated tests in the source dist tarball uploaded to PyPI ( #1149 ).
2025-09-22 14:26:00 -07:00
Dan Helfman
65c17c91b3
Add support for Python 3.14 ( #1149 ).
2025-09-22 10:34:46 -07:00
Dan Helfman
546c0bf83b
Add documentation note about borgmatic source packages ( #1149 ).
2025-09-22 09:56:22 -07:00
Dan Helfman
6d48ff95d2
Bump version for release.
2025-09-19 17:32:13 -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
4feec081a8
Clarify "container:" documentation about borgmatic running inside a container ( #1116 ).
2025-09-18 16:13:24 -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
Dan Helfman
8eea005cbc
Spelling out the new container database features in NEWS a little more and making the documentation on it more verbose as well ( #1116 ).
2025-09-17 16:24:45 -07:00
Dan Helfman
a276aaa31f
Add dumping of database containers via their container name and for labels in database configuration ( #1116 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1121
Reviewed-by: Dan Helfman <witten@torsion.org >
2025-09-17 23:02:57 +00: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
000d633590
Read and write data source dump metadata files within an archive ( #1136 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1136
2025-09-14 22:38:19 +00: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
3310d7c036
Adding missing template metadata.
2025-09-13 10:23:27 -07:00
Dan Helfman
fbfb7fc1f5
Use separate pull requests templates for each of GitHub and Gitea.
2025-09-13 10:16:39 -07:00
Dan Helfman
30b8aeb764
Merge branch 'main' into data-source-dump-metadata
2025-09-12 22:41:40 -07:00
Dan Helfman
2cae42a163
Always error and exit when the borgmatic runtime directory overlaps with the configured excludes ( #1122 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1144
2025-09-13 05:40:04 +00: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
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.
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
Dan Helfman
5ac086fa73
Revert "Temporarily remove recent contributors due to broken Gitea API: https://github.com/go-gitea/gitea/issues/34682 "
...
This reverts commit 3902dd873d .
2025-06-19 17:05:06 -07:00
Dan Helfman
3902dd873d
Temporarily remove recent contributors due to broken Gitea API: https://github.com/go-gitea/gitea/issues/34682
2025-06-10 12:34:41 -07:00
Dan Helfman
652a63223a
Rename constant ( #1083 ).
2025-06-10 11:29:12 -07:00
Dan Helfman
01dc7e7841
Upgrade requests in test requirements to "fix" theoretical security vulnerability.
2025-06-10 11:21:34 -07:00
Dan Helfman
249183250b
Merge branch 'main' of ssh://projects.torsion.org:3022/borgmatic-collective/borgmatic
2025-06-10 11:18:59 -07:00
Dan Helfman
080c8dfd93
Add NEWS entry ( #1083 ).
2025-06-10 11:18:49 -07:00
Dan Helfman
9ec287cd2e
Add Borg 2.0.0b15 features ( #1083 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1088
Reviewed-by: Dan Helfman <witten@torsion.org >
2025-06-10 18:15:02 +00:00
Dan Helfman
782f534636
Clarify documentation on command hooks order of execution ( #1099 ).
2025-06-02 12:01:33 -07:00
Dan Helfman
8e8d9e6267
Fix a bug in which "borg --version" failing isn't considered a "fail" state in a command hook ( #1100 ).
2025-05-27 11:52:36 -07:00
Dan Helfman
b208c5352a
Bump version for release.
2025-05-14 21:16:33 -07:00
Dan Helfman
79cf3495ee
Fix for the "spot" check erroring when a checksum command errors ( #1089 ).
2025-05-14 21:13:48 -07:00
Dan Helfman
15607d2ccd
During the "spot" check, truncate log messages containing many file paths.
2025-05-14 20:24:28 -07:00
Dan Helfman
ae1fbf7940
Fix incorrect option names in config normalize warning message ( #1096 ).
...
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/1096
2025-05-15 02:32:23 +00:00
Dan Helfman
7f3e9c5347
Fix for the "spot" check's "xxh64sum_command" option erroring on commands containing spaces ( #1095 ).
2025-05-14 14:09:19 -07:00
Dan Helfman
d83c444d9e
More documentation fixes/clarifications for customizing warnings and errors ( #1094 ).
2025-05-13 12:34:21 -07:00
Dan Helfman
2221be4549
Update Borg 2.0.0 documentation URLs.
2025-05-13 11:21:09 -07:00
Dan Helfman
9973c5fb7d
Fix indentation in exit code documentation ( #1094 ).
2025-05-12 14:17:32 -07:00
Dan Helfman
ec7101ccf3
Fix incorrect documentation about customizing Borg exit codes ( #1094 ).
2025-05-12 12:17:38 -07:00
Dan Helfman
5966022b67
Fix for the LVM hook erroring when the "--dry-run" flag is used ( #1093 ).
2025-05-12 11:50:55 -07:00
Dan Helfman
b68211cc0c
Fix for the "config generate" action generating invalid configuration when upgrading deprecated command hooks ( #1091 ).
2025-05-08 12:59:53 -07:00