Commit graph

299 commits

Author SHA1 Message Date
Dan Helfman
e85d551eac Fix all database hooks to error when the requested database to restore isn't present in the Borg archive (). 2022-07-06 23:21:24 -07:00
Dan Helfman
2b23a63a08 Add end-to-end test for overrides. 2022-07-06 18:20:51 -07:00
Dan Helfman
457ed80744 Fix environment variable plumbing so options in one configuration file aren't used for others (). 2022-06-30 13:42:17 -07:00
Dan Helfman
10723efc68 Fix all monitoring hooks to warn if the server returns an HTTP 4xx error (). 2022-06-29 21:19:40 -07:00
Dan Helfman
bd4d109009 Fix logging to include the full traceback when Borg experiences an internal error (). 2022-06-28 13:38:24 -07:00
Dan Helfman
d372a86fe6 Code formatting. 2022-06-23 10:41:04 -07:00
Sébastien MB
b63c854509 Fix escaped environment variable in configuration
- when an env variable is escaped in the configuration file, we expect
  not to resolve it and remove the escape char `\`
2022-06-17 09:50:56 +02:00
Dan Helfman
aecb6fcd74 Code style, rename command-line flag, and move new code into its own file () 2022-06-16 11:35:24 -07:00
Sébastien MB
97b5cd089d Allow environment variable resolution in configuration file
- all string fields containing an environment variable like ${FOO} will
  be resolved
- supported format ${FOO}, ${FOO:-bar} and ${FOO-bar} to allow default
  values if variable is not present in environment
- add --no-env argument for CLI to disable the feature which is enabled
  by default

Resolves: 
2022-06-16 18:52:54 +02:00
Gavin Chappell
a8b8d507b6
add a hook for sending push notifications via ntfy.sh 2022-06-09 21:10:38 +01:00
Dan Helfman
3561c93d74 Fix Healthchecks tests that leak global state, breaking downstream tests (discovered in ). 2022-06-09 11:05:44 -07:00
Dan Helfman
9aefb5179f Fix None find paths (). 2022-06-03 15:20:05 -07:00
Dan Helfman
d14f22e121 Add "borgmatic list --find" flag for searching for files across multiple archives (). 2022-06-03 15:12:14 -07:00
Dan Helfman
80ec3e7d97 Deprecate "borgmatic list --successful" flag, as listing only non-checkpoint (successful) archives is now the default in newer versions of Borg. 2022-06-02 20:35:39 -07:00
Dan Helfman
2bc91ac3d2 Add "generate-borgmatic-config --overwrite" flag to replace an existing destination file (). 2022-05-29 16:03:55 -07:00
Dan Helfman
5b615d51a4 Add support for "borgmatic borg debug" command (). 2022-05-29 15:43:03 -07:00
Dan Helfman
8fa90053cf Add "borgmatic check --force" flag to ignore configured check frequencies (). 2022-05-28 19:29:33 -07:00
Dan Helfman
ad0e2e0d7c Tweak default check frequency to 1 month (). 2022-05-28 15:49:50 -07:00
Dan Helfman
e76bfa555f Reduce the default consistency check frequency and support configuring the frequency independently for each check (). 2022-05-28 14:42:19 -07:00
Dan Helfman
8ddb7268eb Reuse "borg info" function. 2022-05-27 13:51:11 -07:00
Dan Helfman
cb5fe02ebd Fix broken Bash completion end-to-end test. 2022-05-26 11:18:46 -07:00
Dan Helfman
77b84f8a48 Add Bash completion script so you can tab-complete the borgmatic command-line. 2022-05-26 10:27:53 -07:00
Dan Helfman
be59a3e574 Fix generate-borgmatic-config with "--source" flag to support more complex schema changes like the new Healthchecks configuration options (). 2022-05-25 10:26:26 -07:00
Dan Helfman
54933ebef5 Change connection failures for monitoring hooks to be warnings instead of errors (). 2022-05-24 15:50:04 -07:00
Dan Helfman
157e59ac88 Add Healthchecks monitoring hook "send_logs" option to enable/disable sending borgmatic logs to the Healthchecks server (). 2022-05-24 14:44:33 -07:00
Dan Helfman
8b179e4647 Reverse logic of Healtchecks "skip_states" option to just "states" (). 2022-05-24 14:09:42 -07:00
Dan Helfman
865eff7d98 Add Healthchecks monitoring hook "skip_states" option to disable pinging for particular monitoring states (). 2022-05-24 13:59:28 -07:00
Dan Helfman
b9741f4d0b Add Healthchecks monitoring hook "ping_body_limit" option to configure how many bytes of logs to send to the Healthchecks server (). 2022-05-24 12:23:38 -07:00
Dan Helfman
02781662f8 Change monitoring hooks to specify the ping URL / integration key as a named option. 2022-05-23 20:02:10 -07:00
Dan Helfman
32a1043468 Remove the error when "archive_name_format" is specified but a retention prefix isn't (). 2022-05-23 16:11:24 -07:00
Dan Helfman
3e4aeec649 Warn when an unsupported variable is used in a hook command (). 2022-05-23 15:27:54 -07:00
Dan Helfman
255cc6ec23 When deep merging common configuration, merge colliding list values by appending them (). 2022-05-20 15:28:28 -07:00
Dan Helfman
788281cfb9 When a configuration include is a relative path, load it from either the current working directory or from the directory containing the file doing the including (). 2022-05-19 17:15:05 -07:00
Dan Helfman
525266ede6 Deep merging when including common configuration (). 2022-04-25 21:18:37 -07:00
Dan Helfman
0e6b425ac5 Fix "borgmatic borg key ..." to pass parameters to Borg in correct order (). 2022-04-23 14:03:15 -07:00
Dan Helfman
ed7fe5c6d0 Instead of executing "before" command hooks before all borgmatic actions run (and "after" hooks after), execute these hooks right before/after the corresponding action (). 2022-04-21 22:08:25 -07:00
Dan Helfman
0c027a3050 Fix handling of TERM signal to exit borgmatic, not just forward the signal to Borg (). 2022-04-03 13:12:48 -07:00
Dan Helfman
9f44bbad65 Fix borgmatic exit code (so it's zero) when initial Borg calls fail but later retries succeed (). 2022-04-02 22:28:41 -07:00
Dan Helfman
976516d0e1 When loading a configuration file that is unreadable due to file permissions, warn instead of erroring (). 2022-03-08 10:19:36 -08:00
Dan Helfman
574eb91921 Fix Borg usage error in the "compact" action when running "borgmatic --dry-run". Now, skip "compact" entirely during a dry run (). 2022-03-07 21:46:12 -08:00
Dan Helfman
28fef3264b Fix handling of "patterns_from" and "exclude_from" options to error instead of warning when referencing unreadable files and running "create" action (). 2022-03-07 15:32:07 -08:00
Dan Helfman
9161dbcb7d Removing unnecessary leading underscores from functions. 2022-03-07 11:58:29 -08:00
Dan Helfman
4b3027e4fc Add test for new working_directory option (). 2022-03-03 11:48:18 -08:00
Dan Helfman
0eb2634f9b Working directory option to support source directories with relative paths ().
Reviewed-on: https://projects.torsion.org/borgmatic-collective/borgmatic/pulls/477
2022-03-03 19:28:17 +00:00
Dan Helfman
9317cbaaf0 Code formatting. 2022-02-10 10:23:34 -08:00
Dan Helfman
1b5f04b79f When using the "remote_rate_limit" option, tailor the flags passed to Borg depending on the Borg version (). 2022-02-10 10:16:09 -08:00
Dan Helfman
948c86f62c When using the "numeric_owner" option with the "extract" action, tailor the flags passed to Borg depending on the Borg version (). 2022-02-10 10:09:18 -08:00
Dan Helfman
7e7209322a When using the "numeric_owner" option, tailor the flags passed to Borg depending on the Borg version (). 2022-02-10 09:51:13 -08:00
Dan Helfman
00a57fd947 Code formatting. 2022-02-09 21:20:28 -08:00
Dan Helfman
6bf6ac310b When using the "bsd_flags" option, tailor the flags passed to Borg depending on the Borg version (). 2022-02-09 21:11:00 -08:00