248f82d6f6
Fix for another subaction argument-parsing edge case ( #712 ).
continuous-integration/drone/push Build is passing
2023-06-21 10:41:32 -07:00
147516ae3f
Remove additional upgrade-borgmatic-config code ( #529 ).
continuous-integration/drone/push Build is passing
2023-06-20 09:41:26 -07:00
b10aee3070
Remove upgrade-borgmatic-config command for upgrading borgmatic 1.1.0 INI-style configuration ( #529 ).
continuous-integration/drone/push Build is failing
2023-06-19 23:17:59 -07:00
6098005f5d
Fix an error when "data" check time files are accessed without getting upgraded first ( #711 , #713 ).
continuous-integration/drone/push Build is passing
2023-06-19 23:07:57 -07:00
7b8be800a4
Refactor arguments parsing to fix bootstrap action CLI issues ( #712 ).
continuous-integration/drone/push Build is passing
2023-06-19 16:18:47 -07:00
9016dcc418
all e2e tests
2023-06-18 05:47:35 +05:30
e53dd3da87
fix witten reported mysql error
2023-06-17 22:58:59 +05:30
ee2ebb79b8
Find sub-actions for an action without an isinstance() check.
continuous-integration/drone/push Build is passing
2023-06-16 10:57:01 -07:00
89602d1614
pass all existing tests (and formatting)
2023-06-16 15:14:00 +05:30
c294e78715
Use absolute paths when storing configuration files in an archive for later bootstrapping ( #697 ).
continuous-integration/drone/push Build is passing
2023-06-15 21:45:43 -07:00
8389851f2f
fix bug where port becomes truthy when none is converted to str
2023-06-15 23:34:50 +05:30
bbc7f0596c
Fix Bash completion for sub-actions like "borgmatic config bootstrap" ( #697 follow-on work).
continuous-integration/drone/push Build is passing
2023-06-15 10:55:31 -07:00
82d851d891
add argument for restore path
2023-06-15 23:05:53 +05:30
62b6f13299
add restore-path support for sqlite
2023-06-15 23:02:09 +05:30
b7423c488e
refactor password assignment logic
2023-06-15 22:54:06 +05:30
a9386b7a87
add mongodb support, and sqlite restore path (config option only)
2023-06-15 02:18:24 +05:30
205e5b1524
mysql support
2023-06-15 01:47:46 +05:30
67f4d43aec
witten review
2023-06-15 01:37:18 +05:30
230cf6adc4
support command line args for hostname port username password
2023-06-14 00:11:19 +05:30
8e8e64d920
add no-owner and refactor
2023-06-13 23:42:50 +05:30
f558cb3156
feat: allow restoring to different port/host/username
2023-06-12 21:54:39 +05:30
670bdffb3c
Code formatting.
continuous-integration/drone/push Build is passing
2023-06-10 19:25:49 -07:00
691d4f887a
Fix incorrect log message ( #697 ).
continuous-integration/drone/push Build is failing
2023-06-10 16:02:03 -07:00
beb899d6fb
Make user-facing manifest loading error messages a little friendlier ( #697 ).
continuous-integration/drone/push Build is failing
2023-06-10 15:50:11 -07:00
0f9756e739
Fix failing test and add "bootstrap" action to CLI reference docs ( #697 ).
continuous-integration/drone/push Build is passing
2023-06-10 15:17:18 -07:00
d84f1ec616
Add bootstrap action to NEWS and make post-PR tweaks ( #697 ).
continuous-integration/drone/push Build is failing
2023-06-10 14:52:00 -07:00
ef409ad23c
Store configs used to create an archive in the archive and add borgmatic bootstrap ( #697 ).
...
Merge pull request #71 from diivi/feat/store-config-in-archive
2023-06-10 14:39:53 -07:00
197920d9ef
improve tests and some docstrings.
2023-06-09 17:31:57 +05:30
3315555d06
cleaner test
2023-06-09 00:21:41 +05:30
6475345a8f
attempt to test parse_subparser_arguments
2023-06-08 01:02:43 +05:30
f90d30e0e1
remove duplicate comments
2023-06-08 00:08:39 +05:30
dc56fd33a0
formatting
2023-06-07 01:47:16 +05:30
4b024daae0
pass all tests with wittens recommendation
2023-06-06 23:37:09 +05:30
6a1d1a2e59
fix indentation error that caused too many test failures
2023-06-05 20:31:09 +05:30
206a9c9607
edit schema comments and work on witten review
2023-06-05 20:05:10 +05:30
c61d63b235
Use open() to test for file existance and readability
...
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2023-06-04 00:54:29 -04:00
ba0899660d
Verify that schema path exists before returning it
...
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2023-06-03 23:42:20 -04:00
15cabb93ca
Drop importlib_metadata entirely
...
The fallback option using the dirname of the config module location
seems to be more robust in a number of cases.
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2023-06-03 23:42:20 -04:00
ce6daff12f
Fix importlib.metadata.files workaround
...
Some distributions, such as Fedora, do not install the RECORDS file as
part of a package's dist-info. As a result importlib.metadata.files will
return None.
Use the workaround for these cases as well.
Signed-off-by: Felix Kaechele <felix@kaechele.ca>
2023-06-03 23:42:20 -04:00
caf654366c
Document work-around for colons in YAML strings ( #708 ).
continuous-integration/drone/push Build is passing
2023-06-03 10:19:34 -07:00
bb60b25399
merge subparsers and refactor
2023-06-02 02:04:35 +05:30
74aa28e027
support more flags
2023-06-01 16:53:34 +05:30
1784ca5910
Fix "check" action error when repository and archive checks are configured but the archive check gets skipped due to the configured frequency ( #704 ).
continuous-integration/drone/push Build is passing
2023-05-30 23:19:33 -07:00
341bd4118d
Fix "--archive latest" on "list" and "info" actions only working on the first of multiple configured repositories ( #706 ).
continuous-integration/drone/push Build is failing
2023-05-30 16:53:55 -07:00
a7f81d538d
nit changes
...
- help strings in borgmatic commands
- test fixes in test_logger and test_borgmatic
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-29 01:09:00 +05:30
4c60bf84d7
extract config files
2023-05-28 01:36:32 +05:30
dbb778a4d6
finish parsing and add error for empty config subcommand
2023-05-26 22:44:31 +05:30
0283f9ae2a
fix help string
...
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
09f59ad97d
disable monitoring hooks if monitoring_log_level is set to DISABLED
...
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
5a9bb4b97f
update help strings
...
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
6a2eb1f157
make value of disabled level higher
...
so that no other log has higher priority
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
99473c30a8
disable sending logs in Healthchecks
...
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
f512d1e460
add verbosity level -2
...
Signed-off-by: Soumik Dutta <shalearkane@gmail.com>
2023-05-26 08:57:12 +05:30
96adee444b
Potential fix for nested subparsers not parsing correctly.
2023-05-25 15:03:15 -07:00
8b7996dfda
removed parents and used reversed remaining_args
2023-05-26 01:07:11 +05:30
2241de11c0
start work on borgmatic config bootstrap command
2023-05-26 00:26:13 +05:30
84c21b062f
Fix incorrect argument ordering ( #659 ).
continuous-integration/drone/push Build is passing
2023-05-23 16:55:40 -07:00
00e9bb011a
test should mock out make_flags_from_arguments
...
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-05-20 09:23:09 -04:00
ee32b076eb
update tests and formatting
2023-05-16 23:17:35 +05:30
e3425f48be
Instead of taking the first check time found, take the maximum value ( #688 )
continuous-integration/drone/push Build is passing
2023-05-16 10:20:52 -07:00
b45e45f161
Partial conversion of showing repository labels in logs instead of paths (part of #635 ).
continuous-integration/drone/push Build is running
2023-05-16 09:36:50 -07:00
b10148844b
change config_paths var name to used_config_paths to avoid collisions
2023-05-16 14:00:23 +05:30
645d29b040
Fix archive checks being skipped even when particular archives haven't been checked recently ( #688 ).
continuous-integration/drone/push Build is failing
2023-05-15 23:17:45 -07:00
49b4d371ce
create and add content to borgmatic-manifest.json
2023-05-16 00:24:19 +05:30
1bc7bb4971
feat: store configs used to create an archive in the archive
2023-05-15 23:04:42 +05:30
8eb05b840a
Log a warning when "borgmatic borg" is run with an action that borgmatic natively supports ( #694 ).
2023-05-14 09:59:28 -07:00
403ae0f698
Clarify configuration comment about source_directories also accepting files ( #693 ).
continuous-integration/drone/push Build is passing
2023-05-09 10:14:03 -07:00
92a2230a07
Add support for logging each log line as a JSON object via global "--log-json" flag ( #680 ).
continuous-integration/drone/push Build is passing
2023-05-08 23:00:49 -07:00
b3b08ee6d7
Fix error in "borgmatic restore" action when the configured repository path is relative ( #691 ).
continuous-integration/drone/push Build is passing
2023-05-07 21:21:35 -07:00
4aae7968b8
Add fish shell completions support ( #686 ).
...
Merge pull request #70 from isaec/feat/fish-completions
2023-05-06 16:00:25 -07:00
43c532bc57
add test for dedent strip
2023-05-06 11:51:35 -07:00
efb81fc2c1
rename last arg helper function to current arg for clarity
2023-05-06 11:42:32 -07:00
c8f4344f89
add more justification to checks
2023-05-06 11:39:02 -07:00
a047f856a1
tweak docstring, add comment
2023-05-06 11:37:38 -07:00
d732059979
fix rotted comments
2023-05-06 11:32:10 -07:00
aa564ac5fe
fix the error thrown, unit test for it, and add string explanations
2023-05-06 11:25:15 -07:00
372622fbb1
add more doccomments, drop a check
2023-05-06 10:46:27 -07:00
469e0ccace
create doccomments, start writing unit tests
2023-05-06 10:42:06 -07:00
59a6ce1462
replace double quotes with single quotes
2023-05-05 00:03:43 -07:00
5a7a1747f2
add safety check to avoid infinite cat hang
2023-05-05 00:01:45 -07:00
b557d635fd
async validity check
2023-05-04 23:57:37 -07:00
d59b9b817f
support required actions
2023-05-04 23:44:54 -07:00
16ac4824a5
handle typed without default params
2023-05-04 23:42:04 -07:00
3592ec3ddf
dont show deprecated options
2023-05-04 23:32:09 -07:00
8f3039be23
handle the expanding filters better
2023-05-04 23:23:29 -07:00
b4a38d8be9
fix flag showing up for paths
2023-05-04 23:06:11 -07:00
d962376a9d
refactor to only show specific options if possible
2023-05-04 21:58:30 -07:00
193731a017
rename function
2023-05-04 21:14:48 -07:00
bbc3e9d717
show possible choices
2023-05-04 21:12:24 -07:00
639e88262e
create working file completion
2023-05-04 20:17:26 -07:00
f12a10d888
start work on conditional file completion
2023-05-04 19:50:49 -07:00
28efc85660
rearrange to improve legability of the file
2023-05-04 18:11:13 -07:00
f1fd2e88dd
drop blank completion
2023-05-04 13:49:29 -07:00
700f8e9d9c
replace .format with fstring
2023-05-04 13:39:48 -07:00
f04036e4a7
use fstring to produce completion lines
2023-05-04 13:33:21 -07:00
062453af51
replace actionStr with action_name
2023-05-04 13:29:25 -07:00
9ff5ea5240
add a unit test, fix isort and black
2023-05-04 13:22:09 -07:00
359afe5318
Error if --list is used with --json for create action ( #680 ).
continuous-integration/drone/push Build is passing
2023-05-03 17:16:36 -07:00
0b397a5bf9
Fix borgmatic error when not finding the configuration schema for certain "pip install --editable" development installs ( #687 ).
continuous-integration/drone/push Build is passing
2023-04-30 16:24:10 -07:00
a60d7fd173
Run "borgmatic borg" action without capturing output so interactive prompts and flags like "--progress" still work.
continuous-integration/drone/push Build is passing
2023-04-30 15:43:41 -07:00
98e3a81fcf
allow file completions as applicable
2023-04-28 12:42:26 -07:00
9c77ebb016
continue deduping
2023-04-28 12:15:01 -07:00
23f478ce74
use less completion lines
2023-04-28 12:13:08 -07:00
d265b6ed6f
add comments in generated files
2023-04-28 11:57:16 -07:00
2e658cfa56
only allow one parser
2023-04-27 21:57:50 -07:00
412d18f218
show sub options
2023-04-27 21:31:53 -07:00
8060586d8b
fix the script and drop unneeded options
2023-04-27 20:05:17 -07:00
25b3db72a0
make more precise, fix the version check fn
2023-04-27 19:58:22 -07:00
5678f3a96e
basic working version
2023-04-27 19:44:11 -07:00
28b152aedd
make upgrade message a template
2023-04-27 19:31:42 -07:00
0009471f67
start work on completion
2023-04-27 18:46:13 -07:00
a62ac42cca
Merge branch 'main' into borg2-archive-flags
2023-04-27 16:57:29 +00:00
68ee9687f5
Added tests for all subcommands and used black formatter
...
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-04-27 22:27:23 +05:30
96aca4f446
Updated existing tests to use new parameters
...
Signed-off-by: Chirag Aggarwal <thechiragaggarwal@gmail.com>
2023-04-24 20:24:41 +05:30
5962fd473e
Another try. Backing out psql error changes ( #678 ).
continuous-integration/drone/push Build is passing
2023-04-21 10:34:50 -07:00
a14870ce48
Expand source directories when checking for existence ( #682 ).
2023-04-21 05:52:04 +00:00
da0f5a34f2
Fix multiple bugs in PostgreSQL hook ( #678 ).
...
continuous-integration/drone/push Build is failing
Reviewed-on: #677
2023-04-21 04:05:22 +00:00
065be1d9d4
More inclusive language.
continuous-integration/drone/push Build is passing
2023-04-20 14:28:04 -07:00
9f5769f87b
Make docs/schema a little more container agnostic / less Docker specific.
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2023-04-16 15:41:17 -07:00
1ee56805f1
Merge remote-tracking branch 'upstream/master' into borg2-archive-flags
2023-04-15 17:29:20 +05:30
8cb5a42a9e
Drop deprecated pkg_resources in favor of importlib.metadata and packaging.
continuous-integration/drone/push Build is failing
2023-04-14 21:21:25 -07:00
5dbb71709c
Upgrade test requirements and code style requirements. Auto-reformat code accordingly.
continuous-integration/drone/push Build is passing
2023-04-14 19:35:24 -07:00
81e167959b
feat: restore specific schemas ( #375 ).
...
Merge pull request #67 from diivi/feat/restore-specific-schemas
2023-04-14 16:26:25 -07:00
f273e82d74
add tests
2023-04-15 02:57:51 +05:30
17f122bfe5
Use psql instead of pg_restore when format is "plain"
...
pg_restore: error: input file appears to be a text format dump. Please use psql.
2023-04-14 17:38:19 +02:00
f0f43174c6
Swap if-else in restore_database_dump in postgresql hook for cleanliness
2023-04-14 17:38:19 +02:00
dfccc1b94a
Exit on error when restoring all PostgreSQL databases
...
"--set ON_ERROR_STOP=on" is equivalent to "--exit-on-error" in
pg_restore.
2023-04-14 17:38:18 +02:00
195024e505
Fix psql_command and pg_restore_command to accept command with arguments
...
These commands are executed without `shell=True`, so the subprocess
module treats e.g. "docker exec my_pg_container psql" as a single command
(resulting in Errno 2 "No such file or directory") instead of a command
with arguments.
2023-04-14 17:37:38 +02:00
19a00371f5
Run "psql" with "--no-psqlrc"
...
Some settings in user's .psqlrc, e.g. "linestyle unicode", may break the
CSV output. "--no-psqlrc" tells psql to not read startup file.
This is not necessary for the analyze_command and restore_command (with
all_databases), but it's generally recommended when running psql from a
script.
2023-04-14 17:37:37 +02:00
874fba7672
Fix PostgreSQL hook not using "psql_command" for list when dumping "all"
2023-04-14 15:13:49 +02:00
4a94c2c9bf
Selectively omit list values when including configuration files ( #672 ).
continuous-integration/drone/push Build is passing
2023-04-13 14:39:36 -07:00
1ea4433aa9
Selectively shallow merge certain mappings or sequences when including configuration files ( #672 ).
continuous-integration/drone/push Build is failing
2023-04-11 21:49:10 -07:00
2fea429d78
collection restore for mongodb
2023-04-12 09:34:19 +05:30
264cebd2b1
complete psql multi schema backup
2023-04-11 23:19:49 +05:30
4c0e2cab78
View the results of configuration file merging via "validate-borgmatic-config --show" flag ( #673 ).
continuous-integration/drone/push Build is passing
2023-04-11 10:49:09 -07:00
b4b1fa939d
feat: add logfile name to hook context for interpolation
...
Merge pull request #68 from diivi/feat/add-log-filename-to-hook-context
2023-04-06 13:46:45 -07:00
16d7131fb7
refactor tests
2023-04-07 01:00:38 +05:30
091d60c226
refactor and improve tests
2023-04-06 12:36:10 +05:30
0fbdf8d860
feat: add logfile name to hook context for interpolation
2023-04-06 09:31:24 +05:30
192bfe46a9
Fix error when running the "prune" action with both "archive_name_format" and "prefix" options set ( #668 ).
continuous-integration/drone/push Build is passing
2023-04-05 14:58:05 -07:00
9bc2322f9a
feat: restore specific schemas
2023-04-06 02:10:36 +05:30
616eb6b6da
Fix error with "info --match-archives" and fix "--match-archives" overriding logic ( #666 ).
continuous-integration/drone/push Build is passing
2023-04-04 21:25:10 -07:00
7e6bee84b0
Add "--log-file-format" flag for customizing the log message format ( #658 ).
continuous-integration/drone/push Build is passing
2023-04-02 23:06:36 -07:00
9712d00680
Add "match_archives" option ( #588 ).
continuous-integration/drone/push Build is passing
2023-04-01 23:57:55 -07:00
2934d0902c
Code spell checking on every test run!
continuous-integration/drone/push Build is passing
2023-04-01 11:03:59 -07:00
32ab17fa46
merge
2023-04-01 22:12:41 +05:30
6054ced931
fix: run typos
2023-04-01 22:10:32 +05:30
3f78ac4085
Automatically use the "archive_name_format" option to filter which archives get used for borgmatic actions that operate on multiple archives ( #479 ).
continuous-integration/drone/push Build is passing
2023-03-31 15:21:08 -07:00
5f595f7ac3
Fix regression in which the "transfer" action produced a traceback ( #663 ).
continuous-integration/drone/push Build is passing
2023-03-30 23:21:20 -07:00
b27e625a77
Update schema comment for check_repositories to mention labels ( #635 ).
continuous-integration/drone/push Build is passing
2023-03-28 15:44:38 -07:00