mirror of
https://github.com/borgmatic-collective/borgmatic.git
synced 2026-07-22 18:13:02 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9417359da3 | ||
|
|
1cf0e1bd84 | ||
|
|
223f803e87 |
@@ -1,6 +1,11 @@
|
||||
1.3.5
|
||||
* #153: Support for various Borg directory environment variables (BORG_CONFIG_DIR, BORG_CACHE_DIR,
|
||||
etc.) via options in borgmatic's storage configuration.
|
||||
* #177: Fix for regression with missing verbose log entries.
|
||||
|
||||
1.3.4
|
||||
* Part of #125: Color borgmatic (but not Borg) output when using an interactive terminal.
|
||||
# #166: Run tests for all installed versions of Python.
|
||||
* #166: Run tests for all installed versions of Python.
|
||||
* #168: Update README with continuous integration badge.
|
||||
* #169: Automatically sort Python imports in code.
|
||||
* Document installing borgmatic with pip install --user instead of a system Python install.
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
import os
|
||||
|
||||
OPTION_TO_ENVIRONMENT_VARIABLE = {
|
||||
'borg_base_directory': 'BORG_BASE_DIR',
|
||||
'borg_config_directory': 'BORG_CONFIG_DIR',
|
||||
'borg_cache_directory': 'BORG_CACHE_DIR',
|
||||
'borg_security_directory': 'BORG_SECURITY_DIR',
|
||||
'borg_keys_directory': 'BORG_KEYS_DIR',
|
||||
'encryption_passcommand': 'BORG_PASSCOMMAND',
|
||||
'encryption_passphrase': 'BORG_PASSPHRASE',
|
||||
'ssh_command': 'BORG_RSH',
|
||||
}
|
||||
|
||||
|
||||
def initialize(storage_config):
|
||||
passcommand = storage_config.get('encryption_passcommand')
|
||||
if passcommand:
|
||||
os.environ['BORG_PASSCOMMAND'] = passcommand
|
||||
|
||||
passphrase = storage_config.get('encryption_passphrase')
|
||||
if passphrase:
|
||||
os.environ['BORG_PASSPHRASE'] = passphrase
|
||||
|
||||
ssh_command = storage_config.get('ssh_command')
|
||||
if ssh_command:
|
||||
os.environ['BORG_RSH'] = ssh_command
|
||||
for option_name, environment_variable_name in OPTION_TO_ENVIRONMENT_VARIABLE.items():
|
||||
value = storage_config.get(option_name)
|
||||
if value:
|
||||
os.environ[environment_variable_name] = value
|
||||
|
||||
@@ -168,6 +168,32 @@ map:
|
||||
Command to use instead of "ssh". This can be used to specify ssh options.
|
||||
Defaults to not set.
|
||||
example: ssh -i /path/to/private/key
|
||||
borg_base_directory:
|
||||
type: scalar
|
||||
desc: |
|
||||
Base path used for various Borg directories. Defaults to $HOME, ~$USER, or ~.
|
||||
See https://borgbackup.readthedocs.io/en/stable/usage/general.html#environment-variables for details.
|
||||
example: /path/to/base
|
||||
borg_config_directory:
|
||||
type: scalar
|
||||
desc: |
|
||||
Path for Borg configuration files. Defaults to $borg_base_directory/.config/borg
|
||||
example: /path/to/base/config
|
||||
borg_cache_directory:
|
||||
type: scalar
|
||||
desc: |
|
||||
Path for Borg cache files. Defaults to $borg_base_directory/.cache/borg
|
||||
example: /path/to/base/cache
|
||||
borg_security_directory:
|
||||
type: scalar
|
||||
desc: |
|
||||
Path for Borg security and encryption nonce files. Defaults to $borg_base_directory/.config/borg/security
|
||||
example: /path/to/base/config/security
|
||||
borg_keys_directory:
|
||||
type: scalar
|
||||
desc: |
|
||||
Path for Borg encryption key files. Defaults to $borg_base_directory/.config/borg/keys
|
||||
example: /path/to/base/config/keys
|
||||
umask:
|
||||
type: scalar
|
||||
desc: Umask to be used for borg create. Defaults to 0077.
|
||||
|
||||
@@ -86,7 +86,6 @@ def get_logger(name=None):
|
||||
'''
|
||||
logging.setLoggerClass(Borgmatic_logger)
|
||||
logger = logging.getLogger(name)
|
||||
logger.propagate = False
|
||||
return logger
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
from setuptools import find_packages, setup
|
||||
|
||||
VERSION = '1.3.4'
|
||||
VERSION = '1.3.5'
|
||||
|
||||
|
||||
setup(
|
||||
|
||||
@@ -42,8 +42,7 @@ def test_initialize_without_configuration_should_not_set_environment():
|
||||
try:
|
||||
os.environ = {}
|
||||
module.initialize({})
|
||||
assert os.environ.get('BORG_PASSCOMMAND') is None
|
||||
assert os.environ.get('BORG_PASSPHRASE') is None
|
||||
assert os.environ.get('BORG_RSH') is None
|
||||
|
||||
assert sum(1 for key in os.environ.keys() if key.startswith('BORG_')) == 0
|
||||
finally:
|
||||
os.environ = orig_environ
|
||||
|
||||
Reference in New Issue
Block a user