|
36 | 36 | from .storage import create_storage_instance
|
37 | 37 |
|
38 | 38 |
|
39 |
| -def main_do_backup(logger: logging.Logger, config: Config) -> Path: |
| 39 | +def main_load_secrets(logger: logging.Logger, config: Config): |
40 | 40 | # Prepare secret backends (if any) and its env getters (aka functions that gets the right value from the backend)
|
41 | 41 | try:
|
42 | 42 | secret_backends = [(get_secret_backend_implementation(secret.type, secret.config), secret)
|
@@ -71,6 +71,10 @@ def main_do_backup(logger: logging.Logger, config: Config) -> Path:
|
71 | 71 | for secret_backend, _ in secret_backends:
|
72 | 72 | del secret_backend
|
73 | 73 |
|
| 74 | + return secret_env |
| 75 | + |
| 76 | + |
| 77 | +def main_do_backup(logger: logging.Logger, config: Config, secret_env) -> Path: |
74 | 78 | # Do backups
|
75 | 79 | try:
|
76 | 80 | cypher_items = config.cypher_params.items() if config.cypher_params is not None else []
|
@@ -147,7 +151,7 @@ def main_upload_backup(logger: logging.Logger, config: Config, backup: Path):
|
147 | 151 | # Create folder for this backup
|
148 | 152 | try:
|
149 | 153 | logger.info(f'Creating folder {backup_folder_name} in {prov_config.backups_path}')
|
150 |
| - backup_cloud_folder = storage.create_folder(backup_folder_name, prov_config.backups_path) |
| 154 | + backup_cloud_folder = storage.create_folder(backup_folder_name) |
151 | 155 | except Exception as e:
|
152 | 156 | # If we cannot create it, will continue to the next configured provider
|
153 | 157 | run_hook('upload:error', prov_config.type, str(backup), str(e))
|
@@ -262,14 +266,17 @@ def main():
|
262 | 266 |
|
263 | 267 | try:
|
264 | 268 | if args.backup_only:
|
265 |
| - backup = main_do_backup(logger, config) |
| 269 | + secret_env = main_load_secrets(logger, config) |
| 270 | + backup = main_do_backup(logger, config, secret_env) |
266 | 271 | logger.info(f'Backup done: {backup.absolute()}')
|
267 | 272 | elif args.upload_current_only:
|
| 273 | + main_load_secrets(logger, config) |
268 | 274 | main_upload_backup(logger, config, (config.backups_path / 'current').resolve())
|
269 | 275 | elif args.cleanup_only:
|
270 | 276 | main_clean_up(logger, config)
|
271 | 277 | else:
|
272 |
| - backup = main_do_backup(logger, config) |
| 278 | + secret_env = main_load_secrets(logger, config) |
| 279 | + backup = main_do_backup(logger, config, secret_env) |
273 | 280 | main_upload_backup(logger, config, backup)
|
274 | 281 | main_clean_up(logger, config)
|
275 | 282 | except Exception as e:
|
|
0 commit comments