Commit Graph

647 Commits

Author SHA1 Message Date
Dan Helfman 27cbe9dfc0 Fix for potential data loss (data not getting backed up) when borgmatic omitted configured source directories in certain situations (#333).
continuous-integration/drone/push Build is passing Details
2020-06-19 20:16:38 -07:00
Edward Shornock abd47fc14e Add SSL support to PostgreSQL hooks 2020-06-19 02:19:17 +03:00
Dan Helfman 7fb4061759 Improve configuration reference documentation readability via more aggressive word-wrapping in configuration schema descriptions.
continuous-integration/drone/push Build is passing Details
2020-06-17 23:15:12 -07:00
Dan Helfman aa14449857 Add "borgmatic extract --strip-components" flag to remove leading path components when extracting an archive (#324).
continuous-integration/drone/push Build is passing Details
2020-06-06 14:57:14 -07:00
Dan Helfman a155eefa23 Fix for certain configuration options like ssh_command impacting Borg invocations for separate configuration files (#323). 2020-06-06 14:30:04 -07:00
Dan Helfman d7277893fb Fix hang when a stale database dump named pipe from an aborted borgmatic run remains on disk (#316).
continuous-integration/drone/push Build is passing Details
2020-06-02 12:40:32 -07:00
Dan Helfman 097a09578a Fix enabled database hooks to implicitly set one_file_system configuration option to true to prevent Borg hang. (#315).
continuous-integration/drone/push Build is passing Details
2020-05-26 09:20:14 -07:00
Dan Helfman 65472c8de2 Fix error message when there are no MySQL databases to dump for "all" databases (#319).
continuous-integration/drone/push Build is passing Details
2020-05-26 08:59:04 -07:00
Dan Helfman 96df52ec50 Fix hang when streaming a database dump to Borg with implicit duplicate source directories by deduplicating them first (#316).
continuous-integration/drone/push Build is passing Details
2020-05-20 13:33:53 -07:00
Dan Helfman 89cb5eb76d Fix regression in support for PostgreSQL's "directory" dump format (#314).
continuous-integration/drone/push Build is passing Details
2020-05-18 11:31:29 -07:00
Dan Helfman 048a9ebb52 Add an additional end-to-end database test.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2020-05-15 10:12:49 -07:00
Dan Helfman 3e5a19d95a Add missing test coverage.
continuous-integration/drone/push Build is passing Details
2020-05-14 23:21:43 -07:00
Dan Helfman d88f321cef Fix legitimate database dump command errors (exit code 1) not being treated as errors by borgmatic (#310).
continuous-integration/drone/push Build is passing Details
2020-05-14 22:38:38 -07:00
Dan Helfman 15ea70a71b Flesh out missing test coverage for execute.py.
continuous-integration/drone/push Build is passing Details
2020-05-12 15:49:49 -07:00
Dan Helfman 8b91c01a4c Add some missing test coverage. 2020-05-11 11:34:14 -07:00
Dan Helfman 3bcef72050 Add some missing test mocks that were masking lack of unit coverage.
continuous-integration/drone/push Build is passing Details
2020-05-11 11:17:24 -07:00
Dan Helfman 695c764a01 Merge log output functions into one. 2020-05-11 10:55:50 -07:00
Dan Helfman 1ea047dd94 Remove "borgmatic restore --progress" flag, as it now conflicts with streaming database restores. 2020-05-09 21:53:16 -07:00
Dan Helfman 4b523f9e2c Make database restore output only show at verbosity 2.
continuous-integration/drone/push Build is passing Details
2020-05-08 19:38:33 -07:00
Dan Helfman 6a61070d85 Use shell redirection rather than the --file flag to sidestep synchronization issues when pg_dump/pg_dumpall tries to write to a named pipe.
continuous-integration/drone/push Build is passing Details
2020-05-08 19:11:26 -07:00
Dan Helfman f36082938e Additional test coverage. 2020-05-08 09:48:04 -07:00
Dan Helfman 1ba996ad93 Additional test coverage.
continuous-integration/drone/push Build encountered an error Details
2020-05-07 12:14:27 -07:00
Dan Helfman a23fdf946d Stream database dumps and restores directly to/from Borg without using any additional filesystem space (#258).
continuous-integration/drone/push Build encountered an error Details
2020-05-07 11:44:04 -07:00
Dan Helfman 12cf6913ef Remove unused function parameter.
continuous-integration/drone/push Build is passing Details
2020-05-03 14:07:34 -07:00
Dan Helfman e4eff0e3dc Bump version for release.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2020-04-24 15:56:56 -07:00
Dan Helfman dce1928dc4
Fix PostgreSQL restore error on "all" database dump. 2020-04-24 15:50:33 -07:00
Nathan Beals 3c8dc4929f Added `test_restore_all_database_dump` unit test.
Updated the other unit tests, as I had to re-arrange argument order
Added an 'all' test for the postgres end-to-end test.

Ran black formatter on it all.
2020-04-24 18:32:53 -04:00
Dan Helfman e511014a28 Fix MySQL restore error on "all" database dump by excluding system tables (#301).
continuous-integration/drone/push Build is passing Details
2020-04-22 12:17:22 -07:00
Dan Helfman bae5f88824 Upgrade test database versions.
continuous-integration/drone/push Build is passing Details
2020-04-21 10:01:26 -07:00
Dan Helfman 55141bda67 Specify "--archive latest" to all actions that accept an archive (#289). 2020-01-29 16:59:02 -08:00
Dan Helfman bc02c123e6 Monitor backups with PagerDuty hook integration (#245).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2020-01-27 15:32:09 -08:00
Dan Helfman e76d5ad988 Fix tests.
continuous-integration/drone/push Build is passing Details
2020-01-27 12:56:12 -08:00
Dan Helfman 2405e97c38 Backup to a removable drive or intermittent server via "soft failure" feature (#284).
continuous-integration/drone/push Build is passing Details
2020-01-24 20:52:48 -08:00
Dan Helfman fdbb2ee905 View consistency check progress via "--progress" flag for "check" action (#287).
continuous-integration/drone/push Build is passing Details
2020-01-24 11:27:16 -08:00
Dan Helfman 94b9ef56be Change "exclude_if_present" option to support multiple filenames, rather than just a single filename (#280).
continuous-integration/drone/push Build is passing Details
2020-01-23 13:41:37 -08:00
Dan Helfman 53e6ff9524 No longer list files or show stats by default at verbosity 2.
continuous-integration/drone/push Build is passing Details
2020-01-22 15:23:49 -08:00
Dan Helfman f66fd1caaa Customize Healthchecks log level via borgmatic "--monitoring-verbosity" flag (#277).
continuous-integration/drone/push Build is passing Details
2020-01-22 15:10:47 -08:00
Dan Helfman d93fdbc5ad Support "--files" and "--stats" flags at verbosity level 0.
continuous-integration/drone/push Build is passing Details
2020-01-22 13:28:24 -08:00
palto42 75b5e7254e changes as per comments in PR #283 2020-01-22 19:03:26 +01:00
palto42 5f0c084bee Merge 'upstream/master' into list-files 2020-01-22 18:12:26 +01:00
Dan Helfman 7824a034ca Add test for database dump directory removal.
continuous-integration/drone/push Build is passing Details
2020-01-21 10:34:46 -08:00
palto42 e27ba0d08a less detail at v1 + option "--files" for details 2020-01-11 16:38:07 +01:00
Dan Helfman d0c533555e In "borgmatic --help", don't expand $HOME in listing of default "--config" paths.
continuous-integration/drone/push Build is passing Details
2020-01-02 10:37:31 -08:00
Dan Helfman 911668f0c8 Only trigger "on_error" hooks and monitoring failures for "prune", "create", and "check" actions, and not for other actions (#270).
continuous-integration/drone/push Build is passing Details
2019-12-20 13:58:02 -08:00
Dan Helfman d64bcd5e83 When pruning with verbosity level 1, list pruned and kept archives.
continuous-integration/drone/push Build is passing Details
2019-12-17 20:12:41 -08:00
Dan Helfman f787dfe809 Override particular configuration options from the command-line via "--override" flag (#268).
continuous-integration/drone/push Build is passing Details
2019-12-17 11:46:27 -08:00
Dan Helfman e009bfeaa2 Update Healthchecks/Cronitor/Cronhub monitoring integrations to fire for "check" and "prune" actions, not just "create" (#249).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-12 22:54:45 -08:00
Dan Helfman c6cb21a748 Switch to read-only container filesystem to avoid *.pyc getting created with busted permissions.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-11 21:24:37 -08:00
Dan Helfman 464ff2fe96 Run end-to-end tests on developer machines with Docker Compose for approximate parity with continuous integration tests.
continuous-integration/drone/push Build was killed Details
2019-12-11 16:43:01 -08:00
Dan Helfman 0cc711173a Merge branch 'master' into end-to-end-database-tests
continuous-integration/drone/push Build is passing Details
2019-12-11 12:27:14 -08:00
Dan Helfman 14e5cfc8f8 Support piping "borgmatic list" output to grep. Retain colored output when piping/redirecting (#271).
continuous-integration/drone/push Build is passing Details
2019-12-11 12:12:25 -08:00
Dan Helfman 68281339b7 Black.
continuous-integration/drone/push Build is failing Details
2019-12-10 16:57:12 -08:00
Dan Helfman 01e2cf08d1 Fix Drone CI services syntax. 2019-12-10 16:43:43 -08:00
Dan Helfman 9f821862b7 End-to-end tests for database dump and restore. 2019-12-10 16:41:01 -08:00
Dan Helfman 8660af745e Optionally change the internal database dump path via "borgmatic_source_directory" option in location configuration section (#259).
continuous-integration/drone/push Build is passing Details
2019-12-10 16:04:34 -08:00
Dan Helfman 826e4352d1 Filter listed paths via "borgmatic list --path" flag (#269).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-08 14:07:02 -08:00
Dan Helfman b94999bba4 Fix "borgmatic umount" so it only runs Borg once instead of once per repository / configuration file.
continuous-integration/drone/push Build is passing Details
2019-12-07 21:36:51 -08:00
Dan Helfman 65cc4c9429 Fix "--repository" flag to accept relative paths.
continuous-integration/drone/push Build is passing Details
2019-12-06 16:29:41 -08:00
Dan Helfman df2be9620b Mount whole repositories via "borgmatic mount" without any "--archive" flag (#253).
continuous-integration/drone/push Build is passing Details
2019-12-06 15:58:54 -08:00
Dan Helfman 2ab9daaa0f Attempt to repair any inconsistencies found during a consistency check via "borgmatic check --repair" flag (#266).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-12-04 16:07:00 -08:00
Dan Helfman 0c6c61a272 Pass extra options directly to particular Borg commands, handy for Borg options that borgmatic does not yet support natively (#235).
continuous-integration/drone/push Build is passing Details
2019-12-04 15:48:10 -08:00
Dan Helfman 00f62ca023 Fix for "before_backup" hook not triggering an error when the command contains "borg" and has an exit code of 1 (#256).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-30 16:55:05 -08:00
Dan Helfman 9b2ca15de6 Fix for garbled Borg file listing when using "borgmatic create --progress" with verbosity level 1 or 2 (#257).
continuous-integration/drone/push Build is passing Details
2019-11-30 15:31:36 -08:00
Dan Helfman c4aa34bf5c Fix for missing Healthchecks monitoring payload or HTTP 500 due to incorrect unicode encoding (#260).
continuous-integration/drone/push Build is passing Details
2019-11-30 14:51:32 -08:00
Dan Helfman d978a2d190 Fix for database dump removal incorrectly skipping some database dumps. 2019-11-25 15:27:59 -08:00
Dan Helfman 375036e409 Support for mounting an archive as a FUSE filesystem via "borgmatic mount" action, and unmounting via "borgmatic umount" (#123).
continuous-integration/drone/push Build is passing Details
2019-11-25 14:56:20 -08:00
Dan Helfman f4a231420f Show summary log errors regardless of verbosity. Log the "summary:" header with level based on the contained logs.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-25 10:31:09 -08:00
Dan Helfman 55ebfdda39 Show full error logs at "--verbosity 0" so you can see command output without upping the verbosity level.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-19 10:09:25 -08:00
Dan Helfman 2cc743cf47 With "borgmatic check", consider Borg warnings as errors (#247). 2019-11-17 19:06:28 -08:00
Dan Helfman d99e6d1994 Remove obnoxious log message when Healthchecks hook sends failure for check action. 2019-11-17 18:55:40 -08:00
Dan Helfman 50f62d73b7 When using the Healthchecks monitoring hook, include borgmatic logs in the payloads for completion and failure pings (#241).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-17 16:54:27 -08:00
Dan Helfman 1f166a47e9 Fix failing test due to dictionary order (or the lack thereof..) in Python 3.5.
continuous-integration/drone/push Build is passing Details
2019-11-13 16:42:58 -08:00
Dan Helfman 6cdc92bd0c Fix for "borgmatic restore" showing success and incorrectly extracting archive files, even when no databases are configured to restore (#246).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-13 10:41:57 -08:00
Dan Helfman 0a9f4e8708 Reopen the file given by "--log-file" flag if an external program rotates the log file while borgmatic is running.
continuous-integration/drone/push Build is passing Details
2019-11-12 16:13:25 -08:00
Dan Helfman 781fac3266 Refactor ping monitors (Healthchecks, Cronitor, Cronhub) to share a common invocation and function signature.
continuous-integration/drone/push Build is passing Details
2019-11-12 15:31:07 -08:00
Dan Helfman 04e5b42606 Fix repository does not exist error with "borgmatic extract" when repository is remote (#243).
continuous-integration/drone/push Build is passing Details
2019-11-12 11:47:24 -08:00
Dan Helfman ebeb5efe05 More accurately detecting restore of unconfigured database (#228).
continuous-integration/drone/push Build is passing Details
2019-11-12 11:10:47 -08:00
Dan Helfman a3e939f34b Factor out filtering of database configuration to function with tests (#228).
continuous-integration/drone/push Build is passing Details
2019-11-12 10:39:36 -08:00
Dan Helfman 2a771161e7 Finish test coverage for MySQL restore (#228).
continuous-integration/drone/push Build is passing Details
2019-11-12 09:50:26 -08:00
Dan Helfman ded042d8cc First crack at MySQL/MariaDB database restore (#228).
continuous-integration/drone/push Build is passing Details
2019-11-11 21:59:30 -08:00
Dan Helfman 9d29ecf304 Remove MySQL/MariaDB database dumps after backing them up (#228).
continuous-integration/drone/push Build is passing Details
2019-11-08 11:53:27 -08:00
Dan Helfman 427b57e2a9 Database dump hooks for MySQL/MariaDB (#228).
continuous-integration/drone/push Build is passing Details
2019-11-08 11:17:52 -08:00
Dan Helfman 17fda7281a Monitor backups with Cronhub hook integration. Fix Healthchecks/Cronitor hooks to respect dry run.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-07 10:08:44 -08:00
Dan Helfman ac777965d0 Fix regression of generate-borgmatic-config working without --source flag (#239).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-06 09:52:21 -08:00
Dan Helfman 2115eeb6a2 Upgrade your borgmatic configuration to get new options and comments via "generate-borgmatic-config --source" (#239).
continuous-integration/drone/push Build is failing Details
2019-11-06 09:31:00 -08:00
palto42 18d3542fbc new verbosity level "-1" for errors 2019-11-03 09:55:19 +01:00
Dan Helfman a9104ed090 Handle log file error more consistently with other error. Add --log-file-verbosity flag. Add docs.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-02 11:23:18 -07:00
Dan Helfman 06f134cc71 Log to file instead of syslog via command-line "--log-file" flag (#233).
continuous-integration/drone/push Build is passing Details
2019-11-02 17:43:39 +00:00
palto42 26a1a3d1e0 test cases for logfile option 2019-11-02 14:34:16 +01:00
Dan Helfman f48f52079d Support for Borg --keep-exclude-tags and --exclude-nodump options (#234).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-01 15:50:59 -07:00
Dan Helfman 8fd46b8c70 Monitor backups with Cronitor hook integration.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-01 11:33:15 -07:00
Dan Helfman e3dd545345 Extract files to a particular directory via "borgmatic extract --destination" flag. Also rename "--restore-path" to "--path" to reduce confusion.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-11-01 10:00:26 -07:00
Dan Helfman 939f4d4e3d Add additional tests for database restores.
continuous-integration/drone/push Build is passing Details
2019-10-31 14:11:19 -07:00
Dan Helfman 3006db0cae Restore backed up PostgreSQL databases via "borgmatic restore" sub-command (#229).
continuous-integration/drone/push Build is passing Details
2019-10-31 12:57:36 -07:00
Dan Helfman 37dc94bc79 Add test for removal of database dumps.
continuous-integration/drone/push Build is passing Details
2019-10-23 13:36:03 -07:00
Dan Helfman fc274b43f0 Rename "borgmatic list --pattern-from" flag to "--patterns-from" to match Borg (#230).
continuous-integration/drone/push Build is passing Details
2019-10-22 22:42:36 -07:00
Dan Helfman 9ab12e4312 Tests for database dumping (#225).
continuous-integration/drone/push Build is passing Details
2019-10-22 21:39:30 -07:00
Dan Helfman 458e7776c5 Database dump hooks for PostgreSQL, so you can easily dump your databases before backups run (#225).
continuous-integration/drone/push Build is passing Details
2019-10-22 16:28:42 -07:00
Dan Helfman fa5fa1c11b Move hooks into directory, so there can be one source file per type of hook (#225).
continuous-integration/drone/push Build is passing Details
2019-10-21 15:52:14 -07:00
Dan Helfman f8bc67be8d Config generation support for sequences of maps, needed for database dump hooks (#225).
continuous-integration/drone/push Build is passing Details
2019-10-21 15:17:47 -07:00
Dan Helfman 128ebf04ce Dead man's switch via healthchecks.io integration (#223) + new monitoring documentation.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-15 10:49:14 -07:00
Dan Helfman 7b3b28616d Add "borgmatic list --successful" flag to only list successful (non-checkpoint) archives (#86).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-13 15:58:11 -07:00
Dan Helfman 1d37b14356 More detailed error alerting via runtime context available in "on_error" hook (#174).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-10-01 12:23:16 -07:00
Dan Helfman 6c617eddd5 When backups to one of several repositories fails, keep backing up to the other repositories (#144).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-30 22:19:31 -07:00
Dan Helfman e14ebee4e0 User-defined hooks for global setup or cleanup that run before/after all actions. (#192).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-28 16:18:10 -07:00
Dan Helfman a897ffd514 Fix "borgmatic create --progress" output so that it updates on the console in real-time (#221).
continuous-integration/drone/tag Build is passing Details
continuous-integration/drone/push Build is passing Details
2019-09-25 12:03:10 -07:00
Dan Helfman 07222cd984 Fix visibility of "borgmatic prune --stats" output (#219).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-23 13:07:51 -07:00
Dan Helfman 340bd72176 Fix regression of argument parsing for default actions (#220).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-22 11:30:58 -07:00
Dan Helfman 1a1bb71af1 Fix error with "borgmatic check --only" command-line flag with "extract" consistency check (#217).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-20 11:43:27 -07:00
Dan Helfman 81739791e0 Override configured consistency checks via "borgmatic check --only" command-line flag (#210).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-09-19 11:43:53 -07:00
Dan Helfman 4cdff74e9b Support for Borg check --verify-data flag via borgmatic "data" consistency check (#210).
continuous-integration/drone/push Build is passing Details
2019-09-18 16:52:27 -07:00
Dan Helfman 11e830bb1d Fix flake8 warning.
continuous-integration/drone/push Build is passing Details
2019-09-18 14:11:56 -07:00
Dan Helfman f2198de151 Merge branch 'comments-white-space' of polyzen/borgmatic into master
continuous-integration/drone/push Build was killed Details
2019-09-18 21:03:56 +00:00
Daniel M. Capella 0c439c0c02
Add space to separate comments from tokens
https://yaml.org/spec/1.2/spec.html#id2780069
2019-09-17 20:00:58 -04:00
Dan Helfman f11a9bb4aa Revert "Fix for spurious Borg traceback when initializing a repository in an empty directory (#201)."
continuous-integration/drone/push Build is passing Details
This reverts commit 9585c8f908.
2019-09-14 16:14:20 -07:00
Dan Helfman 9585c8f908 Fix for spurious Borg traceback when initializing a repository in an empty directory (#201).
continuous-integration/drone/push Build is failing Details
2019-09-13 13:08:23 -07:00
Dan Helfman 67ab2acb82 Fix for hook erroring with exit code 1 not being interpreted as an error (#214).
continuous-integration/drone/push Build is passing Details
2019-09-12 16:37:43 -07:00
Dan Helfman c085bacccf Reorder arguments passed to Borg to fix duplicate directories when using Borg patterns (#213).
continuous-integration/drone/push Build is passing Details
2019-09-12 15:27:04 -07:00
Dan Helfman 896401088e Fix for traceback when the "checks" option has an empty value (#208).
continuous-integration/drone/push Build is passing Details
2019-08-26 09:52:32 -07:00
Dan Helfman ef3dda9213 Bypass Borg error about a moved repository (#209).
continuous-integration/drone/push Build is passing Details
2019-08-26 09:39:41 -07:00
Dan Helfman ccbd0b608b Do not treat Borg warnings (exit code 1) as failures (#204).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-08-03 15:13:54 -07:00
Dan Helfman 7c890be76d Black formatting. 2019-07-27 14:08:47 -07:00
Dan Helfman 39e5aac479 If a "prefix" option in borgmatic's configuration has an empty value (blank or ""), then disable default prefix.
continuous-integration/drone/push Build is failing Details
2019-07-27 14:04:13 -07:00
Dan Helfman 90595e9c18 Only log to syslog when run from a non-interactive console (e.g. a cron job). Related to #197.
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-27 14:41:21 -07:00
Dan Helfman 4444219e17 Support for Borg --noatime, --noctime, and --nobirthtime flags (mentioned in #193).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-25 11:30:55 -07:00
Dan Helfman 56fd78089d Sort generated flags before passing them to Borg.
continuous-integration/drone/push Build is passing Details
2019-06-25 11:04:10 -07:00
Dan Helfman 86dbc00cbe Support for several more borgmatic/borg info command-line flags (#193). 2019-06-25 10:46:55 -07:00
Dan Helfman c644270599 Pass through several "borg list" flags (#193).
continuous-integration/drone/push Build is failing Details
2019-06-25 10:18:30 -07:00
Dan Helfman 1676a98c51 Fix for Borg create error output not showing up at borgmatic verbosity level zero (#198).
continuous-integration/drone/tag Build was killed Details
continuous-integration/drone/push Build is passing Details
2019-06-24 09:55:41 -07:00
Dan Helfman 7185146481 A bunch of tests for parse_subparser_arguments().
continuous-integration/drone/push Build is passing Details
2019-06-23 16:06:39 -07:00
Dan Helfman 4bf3e906a1 Break out main borgmatic arguments-parsing code into a separate file. 2019-06-22 21:32:27 -07:00
Dan Helfman 0ca43ef67a Get tests passing.
continuous-integration/drone/push Build is passing Details
2019-06-22 21:23:48 -07:00
Dan Helfman 603e055a39 Fix borgmatic command unit tests for new parsed arguments. 2019-06-22 16:29:25 -07:00
Dan Helfman 74ac148747 Disable console color via "color" option in borgmatic configuration output section (#191).
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details
2019-06-19 20:48:54 -07:00
Dan Helfman b3aa6af859 Don't color syslog output (#197).
continuous-integration/drone/push Build is passing Details
2019-06-17 11:53:08 -07:00
Dan Helfman 276aeb9875 Fix tests that assert on default syslog verbosity.
continuous-integration/drone/push Build is passing Details
2019-06-16 21:58:41 -07:00
Dan Helfman 6c136ebbf1 Fix for unclear error message for invalid YAML merge include (#196).
continuous-integration/drone/push Build is passing Details
2019-06-16 21:33:40 -07:00
Dan Helfman 1ba56d5262 Fix tests in Python 3.6.
continuous-integration/drone/push Build was killed Details
2019-06-13 21:34:04 -07:00
Dan Helfman d6d66de251 Set umask used when executing hooks via "umask" option in borgmatic hooks section (#189).
continuous-integration/drone/push Build is failing Details
2019-06-13 17:05:26 -07:00
Dan Helfman dc43c38e29 Complete test coverage for logging branch.
continuous-integration/drone/push Build is passing Details
2019-06-13 11:11:42 -07:00
Dan Helfman 7d7308a80d Integration tests for execute.py. 2019-06-13 10:48:21 -07:00
Dan Helfman b43ef9d76d Move test file to correspond to its code under test. 2019-06-13 10:27:00 -07:00
Dan Helfman 28cdd67743 Error hook test.
continuous-integration/drone/push Build is passing Details
2019-06-13 10:14:16 -07:00
Dan Helfman 7f126ce127 Move hook.py file up a level. 2019-06-13 10:09:16 -07:00
Dan Helfman a6c4debf78 Additional test coverage, and upgrade test requirements. 2019-06-13 10:01:55 -07:00
Dan Helfman a74ad5475e Run all Borg commands such that they log to syslog as well as console.
continuous-integration/drone/push Build is passing Details
2019-06-12 20:56:20 -07:00
Dan Helfman fa293828df Run hooks such that their output goes to syslog as well as console.
continuous-integration/drone/push Build is passing Details
2019-06-12 13:09:04 -07:00
Dan Helfman f5582b1754 Move borgmatic.borg.execute module up a level for broader use. 2019-06-12 12:13:59 -07:00
Dan Helfman 1af95714c2 Collapse two execute_command() parameters into one output log level parameter. 2019-06-12 12:11:36 -07:00
Dan Helfman 0406d18cfd Log Borg --stats output as warning so it shows up at any verbosity level. 2019-06-12 11:49:35 -07:00
Dan Helfman 66e9ec9c3c A few tests for JSON flag suppressing Borg output. 2019-06-12 11:31:46 -07:00
Dan Helfman 9a5e7a3abb Successfully convert Borg output to Python logging entries.
continuous-integration/drone/push Build is passing Details
2019-06-11 16:42:04 -07:00
Luke Murphy 8424e443a9
Also read .yml ending configuration files
the build was successful Details
Closes witten/borgmatic#178.
2019-05-19 13:04:42 +02:00
Dan Helfman 1cf0e1bd84 Support for various Borg directory environment variables (#153).
the build was successful Details
2019-05-16 10:34:52 -07:00
Luke Murphy 1c0dc3f904
Run isort over the source
the build was successful Details
2019-05-14 18:59:19 +02:00
Dan Helfman a13cc0ab17 More tests for colored logging.
the build was successful Details
2019-05-13 21:10:26 -07:00
Dan Helfman 620f9e64d6 A few more tests for new colored logging.
the build was successful Details
2019-05-13 20:49:20 -07:00
Luke Murphy a621ce199a
Add tests for borgmatic.logger.to_bool
the build was successful Details
2019-05-13 13:40:23 +02:00
Dan Helfman 8650a15db1 Document validate-borgmatic-config and add a few tests.
the build was successful Details
2019-05-11 14:05:16 -07:00
Robin Schneider 52e4f48eb9
Add validate-borgmatic-config command
the build failed Details
Useful when generating the borgmatic configuration file with
configuration management and before moving the generated file in place
checking if it is actually valid.
2019-05-10 00:10:28 +02:00
Dan Helfman a291477c19 Fix for hooks executing when using --dry-run (#160).
the build was successful Details
2019-05-07 16:06:31 -07:00
Dan Helfman 1c88dda76a Fix for invalid JSON output when using multiple borgmatic configuration files (#155).
the build was successful Details
2019-04-02 22:30:14 -07:00
Dan Helfman 0b59c22c23 Fix for seemingly random filename ordering when running through a directory of configuration files (#157).
the build was successful Details
2019-03-30 16:41:21 -07:00
Dan Helfman 6ff1867312 Configuration files includes and merging (#148).
the build was successful Details
2019-03-06 12:06:27 -08:00
Dan Helfman 3cb52423d2 Support for Borg create/extract --numeric-owner flag (#147).
the build was successful Details
2019-03-05 09:11:35 -08:00
Dan Helfman 4272c6b077 List the files within an archive via --list --archive option (#140).
the build was successful Details
2019-02-23 23:02:17 -08:00
Dan Helfman fe92d9e838 Fix restore paths list to tuple conversion.
the build was successful Details
2019-02-18 21:59:09 -08:00
Dan Helfman 5ea2d644a2 Fix error handling when --extract repository guard fails.
the build was successful Details
2019-02-18 21:52:56 -08:00
Dan Helfman c35f90154f Only guard repository when --extract is used.
the build was successful Details
2019-02-18 21:43:30 -08:00
Dan Helfman 2b3b8eab71 Add archive extract to end-to-end test.
the build was successful Details
2019-02-18 13:47:18 -08:00
Dan Helfman aa7c7651e5 Fix config repositories consumption. 2019-02-18 13:27:35 -08:00
Dan Helfman c41ffb5ceb If no extract repository is given, then error if there are multiple configured repositories. 2019-02-18 13:22:14 -08:00
Dan Helfman 766a03375a Guard that the given repository occurs in config exactly once.
the build was successful Details
2019-02-18 12:58:39 -08:00
Dan Helfman 2a4d4247e3 Tests for extract_archive(). 2019-02-18 10:31:52 -08:00
Dan Helfman 9de5083a7e Additional test coverage for extract options in borgmatic command. 2019-02-18 09:52:56 -08:00
Dan Helfman d0557b2bcd Initial work on #123: Support for Borg extract. 2019-02-18 09:30:34 -08:00
Dan Helfman fb21d4e645 Remove dead code.
the build was successful Details
2019-02-09 21:17:55 -08:00
Dan Helfman 6096a7181c Leave exclude_patterns glob expansion to Borg, since doing it in borgmatic leads to confusing behavior (#132).
the build was successful Details
2019-01-27 13:47:26 -08:00
Dan Helfman 2dc006aab4 Allow use of --stats flag when --create or --prune flags are implied (#139).
the build was successful Details
2019-01-27 12:15:47 -08:00
Dan Helfman fd46efb193 Add borgmatic --version command-line flag to get the current installed version number.
the build was successful Details
2018-12-25 21:01:08 -08:00
Dan Helfman 45a537b6b1 When running multiple configuration files, attempt all of them even if one errors (#116).
the build was successful Details
2018-12-25 15:23:54 -08:00
Dan Helfman 30b52e5523 With --init command-line flag, if a repository already exists, proceed without erroring (#117). 2018-12-24 22:28:02 -08:00
Felix Buehler 73d67e29b4 Support for Borg create & prune --stats via borgmatic command-line flag (#100) 2018-12-22 23:27:24 +01:00
Dan Helfman cc9dbb1def Support for Borg repository initialization via borgmatic --init command-line flag (#110).
the build was successful Details
2018-12-10 22:20:57 -08:00
Dan Helfman 1dcac44d6c Fix broken test of deprecated --excludes option.
the build failed Details
2018-12-09 15:49:05 -08:00
Dan Helfman 80c69aac05 Fix incomplete test coverage around --progress argument validation. 2018-12-02 15:08:42 -08:00
Dan Helfman 7417a3cd00 Update Borg create --filter values so a dry run lists files to back up. (#111).
the build was successful Details
2018-12-02 15:03:07 -08:00
Dan Helfman 5c0b17ef39 Support for Borg --chunker-params create option via "chunker_params" in borgmatic's storage section (#105).
the build was successful Details
2018-10-27 15:57:28 -07:00
Dan Helfman fef441a8ff More concessions for Python 3.5 compatibility.
the build was successful Details
2018-10-15 09:37:26 -07:00
Dan Helfman c1ddc4268b We can't have nice things.
the build failed Details
2018-10-15 09:30:04 -07:00
Dan Helfman fa38de2de7 Enable consistency checks for only certain repositories via "check_repositories" (#73).
the build was successful Details
2018-10-13 20:34:51 -07:00
Dan Helfman e4d1b49c39 Switch some functions with many arguments to kwargs only. 2018-10-13 15:19:16 -07:00
Dan Helfman a0691ae4cd Run continuous integration tests on a matrix of Python and Borg versions.
the build failed Details
2018-10-13 13:09:12 -07:00
Dan Helfman 4b92d0f685 Remove unneeded Dockerfile for end-to-end tests.
the build was successful Details
2018-10-03 22:44:23 -07:00
Dan Helfman 3ce5533103 Make end-to-end test clean up after itself, and drop unnecessary use of Docker for it.
the build was successful Details
2018-10-03 22:36:25 -07:00
Dan Helfman 0b164973e0 Add an end-to-end automated test that actually integrates with Borg. 2018-09-30 17:30:04 -07:00
Dan Helfman a125df991b Move tests to the root of the repository, in keeping with more common convention. 2018-09-30 13:57:20 -07:00