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