diff --git a/borgmatic/borg/environment.py b/borgmatic/borg/environment.py index 490c07ab..4bdb33ed 100644 --- a/borgmatic/borg/environment.py +++ b/borgmatic/borg/environment.py @@ -15,6 +15,7 @@ OPTION_TO_ENVIRONMENT_VARIABLE = { DEFAULT_BOOL_OPTION_TO_ENVIRONMENT_VARIABLE = { 'relocated_repo_access_is_ok': 'BORG_RELOCATED_REPO_ACCESS_IS_OK', 'unknown_unencrypted_repo_access_is_ok': 'BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK', + 'check_i_know_what_i_am_doing': 'BORG_CHECK_I_KNOW_WHAT_I_AM_DOING', } @@ -35,4 +36,4 @@ def initialize(storage_config): environment_variable_name, ) in DEFAULT_BOOL_OPTION_TO_ENVIRONMENT_VARIABLE.items(): value = storage_config.get(option_name, False) - os.environ[environment_variable_name] = 'yes' if value else 'no' + os.environ[environment_variable_name] = 'YES' if value else 'NO' diff --git a/borgmatic/config/schema.yaml b/borgmatic/config/schema.yaml index a2f3bea6..5fba09d0 100644 --- a/borgmatic/config/schema.yaml +++ b/borgmatic/config/schema.yaml @@ -324,6 +324,12 @@ properties: Bypass Borg error about a previously unknown unencrypted repository. Defaults to false. example: true + check_i_know_what_i_am_doing: + type: boolean + description: | + Bypass Borg confirmation about check with repair option. + Defaults to false. + example: true extra_borg_options: type: object additionalProperties: false diff --git a/tests/unit/borg/test_environment.py b/tests/unit/borg/test_environment.py index 5a08e765..18f7ab42 100644 --- a/tests/unit/borg/test_environment.py +++ b/tests/unit/borg/test_environment.py @@ -46,6 +46,7 @@ def test_initialize_without_configuration_should_only_set_default_environment(): assert {key: value for key, value in os.environ.items() if key.startswith('BORG_')} == { 'BORG_RELOCATED_REPO_ACCESS_IS_OK': 'no', 'BORG_UNKNOWN_UNENCRYPTED_REPO_ACCESS_IS_OK': 'no', + 'BORG_CHECK_I_KNOW_WHAT_I_AM_DOING': 'no', } finally: os.environ = orig_environ @@ -61,6 +62,16 @@ def test_initialize_with_relocated_repo_access_should_override_default(): finally: os.environ = orig_environ +def test_initialize_with_check_i_know_what_i_am_doing_should_override_default(): + orig_environ = os.environ + + try: + os.environ = {} + module.initialize({'check_i_know_what_i_am_doing': True}) + assert os.environ.get('BORG_CHECK_I_KNOW_WHAT_I_AM_DOING') == 'yes' + finally: + os.environ = orig_environ + def test_initialize_prefers_configuration_option_over_borg_environment_variable(): orig_environ = os.environ