Dan Helfman
26b3a03721
Fix for the Loki monitoring hook not respecting the monitoring verbosity ( #1257 ).
2026-03-30 11:13:55 -07:00
Dan Helfman
b0e083eff2
BREAKING: Support disabling both constant and variable interpolation by escaping with backslashes ( #1213 ).
2026-01-05 15:39:14 -08:00
Dan Helfman
71291409fe
SECURITY: Prevent shell injection attacks via constant interpolation in command hooks.
2026-01-04 21:56:53 -08:00
Tim Ruffing
573405bb88
Hard-code default config paths in help strings
...
This fixes a bug with fish completions. Before this commit,
`borgmatic --fish-completion` would generate a fish completion script
with an expanded XDG_CONFIG_HOME (if this variable is set).
This is problematic for package maintainers if the variable is set
during the creation of a package.
Moreover, it is problematic if the user has set this variable because
the fish completion scripts checks its own consistency with `borg
--fish-completion` during startup to detect version mismatches. If the
user has a packaged fish completion file with "~/.config/$HOME" in it,
this won't match the output of `borg --fish-completion` because the
latter contains the expansion of $XDG_CONFIG_HOME. As a result, the
script will incorrectly conclude that it is outdated.
2025-11-17 15:42:30 +01:00
Simon Pilkington
68864395b5
Support multiple configured systemd service directories (RuntimeDirectory, StateDirectory)
2025-10-24 08:20:59 +02:00
Florian Apolloner
56a3f6d854
address more review comments
2025-09-15 20:02:31 +02: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
1f773124f6
Add support for Borg 2's "s3:" and "b2:" repository URLs, so you can backup to S3 or B2 cloud storage services even without using Rclone.
2025-05-04 09:59:07 -07:00
Dan Helfman
9407f24674
Fix setting of "--checks" on the command-line ( #303 ).
2025-04-03 11:28:32 -07:00
Dan Helfman
d2c3ed26a9
Make a CLI flag for any config option that's a list of scalars ( #303 ).
2025-04-02 23:15:21 -07:00
Dan Helfman
017cbae4f9
Fix for the example not showing up in generated config for empty YAML objects ( #303 ).
2025-04-01 19:44:47 -07:00
Dan Helfman
cf477bdc1c
Fix broken list_details, progress, and statistics options ( #303 ).
2025-03-31 11:33:56 -07:00
Dan Helfman
975a6e4540
Add additional tests for complete coverage ( #303 ).
2025-03-28 11:37:48 -07:00
Dan Helfman
5bf2f546b9
More automated tests ( #303 ).
2025-03-27 21:01:56 -07:00
Dan Helfman
423627e67b
Get existing unit/integration tests passing ( #303 ).
2025-03-23 17:00:04 -07:00
Dan Helfman
57721937a3
Factor out schema type comparion in config generation and get several tests passing ( #303 ).
2025-03-23 11:24:36 -07:00
Dan Helfman
6f1c77bc7d
Merge branch 'main' of ssh://projects.torsion.org:3022/borgmatic-collective/borgmatic into config-command-line
2025-03-21 15:40:27 -07:00
Benjamin Bock
81a3a99578
Fix extracting from remote repositories with working_directory defined
2025-03-21 21:34:46 +01:00
Dan Helfman
87b9ad5aea
Code formatting ( #303 ).
2025-03-17 10:02:25 -07:00
Dan Helfman
eca78fbc2c
Support setting whole lists and dicts from the command-line ( #303 ).
2025-03-17 09:57:25 -07:00
Dan Helfman
5ab766b51c
Add a few more missing tests ( #1019 ).
2025-03-08 20:55:13 -08:00
Dan Helfman
45c114973c
Add missing test coverage for new/changed code ( #1019 ).
2025-03-08 18:31:16 -08:00
Dan Helfman
6a96a78cf1
Fix existing tests ( #1019 ).
2025-03-07 22:58:25 -08:00
Dan Helfman
50096296da
Revamp systemd credential syntax to be more consistent with constants ( #966 ).
2025-02-10 22:01:23 -08:00
Dan Helfman
775385e688
Get unit tests passing again ( #966 ).
2025-02-09 22:44:38 -08:00
Dan Helfman
97fe1a2c50
Flake fixes ( #966 ).
2025-02-08 19:28:03 -08:00
Dan Helfman
66abf38b39
Add end-to-end tests for the systemd credential hook ( #966 ).
2025-02-08 17:50:59 -08:00
Dan Helfman
5baf091853
Add automated tests for the systemd credential hook ( #966 ).
2025-02-08 10:42:11 -08:00
Dan Helfman
71f1819f05
Some additional test coverage ( #635 ).
2025-01-27 09:27:12 -08:00
Dan Helfman
7d56641f56
Get existing unit tests passing ( #635 ).
2025-01-26 12:13:29 -08:00
Dan Helfman
1366269586
Add a couple of missing tests ( #251 ).
2024-11-30 09:44:55 -08:00
Dan Helfman
3197178b3d
Fix flake errors.
2024-11-24 16:32:48 -08:00
Dan Helfman
84f611ae4f
Require the runtime directory to be an absolute path.
2024-11-24 16:15:19 -08:00
Dan Helfman
689643e5fa
Move bootstrap manifest file creation into a hook so it can actually clean up after itself.
2024-11-24 16:00:33 -08:00
Dan Helfman
c65aa24001
Add test coverage for ZFS hook ( #261 ).
2024-11-23 10:50:58 -08:00
Dan Helfman
5a24bf2037
Get tests passing ( #261 ).
2024-11-22 20:16:18 -08:00
Dan Helfman
851c454ef0
Remove the restriction that the "extract" and "mount" actions must match a single repository ( #722 ).
2024-11-17 21:39:59 -08:00
Dan Helfman
afdf831c59
Fix broken restore/bootstrap when using Borg 1.2 and a randomly named temporary directory ( #934 ).
2024-11-17 11:55:10 -08:00
Dan Helfman
7cca83b698
Log the path of the borgmatic runtime directory used ( #934 ).
2024-11-17 10:15:58 -08:00
Dan Helfman
b80f60a731
Create the borgmatic runtime directory if it doesn't exist ( #934 ).
2024-11-16 16:03:18 -08:00
Dan Helfman
b0cad58d6c
Add a dash to the prefix of the randomly named temporary directory to improve readability ( #937 ).
2024-11-16 11:26:24 -08:00
Dan Helfman
295bfb0c57
Update the logic that probes for the borgmatic streaming database dump, bootstrap metadata, and check state directories to support more platforms and use cases ( #934 ).
2024-11-15 18:15:32 -08:00
Dan Helfman
be08e889f0
Fix the user runtime directory location on macOS (and possibly Cygwin) ( #928 ).
2024-11-03 21:44:11 -08:00
Dan Helfman
814cdb4b87
Deprecate the "borgmatic_source_directory" option in favor of "user_runtime_directory" and "user_state_directory" ( #562 ). Move the default borgmatic streaming database dump and bootstrap metadata location on disk ( #562 ). With Borg 1.4+, store database dumps and bootstrap metadata in a "/borgmatic" directory within a backup archive ( #838 ). Add "--local-path", "--remote-path", and "--user-runtime-directory" flags to the "config bootstrap" action.
2024-11-03 13:14:05 -08:00
Dan Helfman
13878be254
Move the default check state directory ( #562 , #638 ). Deprecate the "borgmatic_source_directory" option in favor of "borgmatic_runtime_directory" and "borgmatic_state_directory" ( #562 ).
2024-10-30 22:36:43 -07:00
Dan Helfman
7a117d5cc9
Add support for Borg 2's "sftp://" repository URLs.
2024-10-26 11:58:26 -07:00
Dan Helfman
fe0fe27c36
Adjust for Borg 2's change from "rclone://" repository URLs to just "rclone:".
2024-10-26 09:41:01 -07:00
Dan Helfman
ad21eb41ae
Add support for Borg 2's "rclone://" repository URLs.
2024-10-23 11:10:40 -07:00
Dan Helfman
bd4c672382
Apply the "working_directory" option to all actions, not just "create". Also fix the glob expansion of "source_directories" values to respect the "working_directory" option ( #609 ).
2024-10-20 16:04:41 -07:00
Dan Helfman
c5633227bf
Add glob ("*") support to the "--repository" flag ( #898 ).
2024-08-20 12:49:50 -07:00