fix backup label parsing

This commit is contained in:
Moritz 2024-10-22 17:24:20 +02:00
parent f8cfcef029
commit 4054d3417e

View File

@ -188,6 +188,10 @@ def app_versions_from_tags(tags):
else:
return {}
def str2bool(value: str) -> bool:
return value.lower() in ("yes", "true", "t", "1")
def parse_backup_labels(hook_type='backup', selected_container=[]):
client = docker.from_env()
container_by_service = {
@ -201,7 +205,7 @@ def parse_backup_labels(hook_type='backup', selected_container=[]):
container_name = s.name.removeprefix(f"{stack_name}_")
version = labels.get(f'coop-cloud.{stack_name}.version')
settings = app_settings[stack_name] = app_settings.get(stack_name) or {}
if (backup := labels.get('backupbot.backup')) and bool(backup):
if (backup := labels.get('backupbot.backup')) and str2bool(backup):
settings['enabled'] = True
if version:
settings['version'] = version
@ -302,7 +306,7 @@ def parse_excludes_includes(labels):
if label.endswith('path'):
relative_paths = tuple(value.split(','))
included_volume_paths.add((volume_name, relative_paths))
elif bool(value):
elif not str2bool(value):
excluded_volumes.add(volume_name)
return excluded_volumes, included_volume_paths