Commit Graph
100 Commits
Author SHA1 Message Date
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