# Mapping logic for backup-docker-to-local CLI arguments # # - BKP_DOCKER_2_LOC_DB_ROUTINE: All service names where backup.database_routine is set (for --database-containers) # - BKP_DOCKER_2_LOC_NO_STOP_REQUIRED: All images where backup.no_stop_required is set (for --images-no-stop-required) # - BKP_DOCKER_2_LOC_DISABLED: All images where backup.disabled is set (for --images-no-backup-required) # CLI-ready variables render these lists as argument strings. BKP_DOCKER_2_LOC_SERVICE: "{{ role_name ~ SYS_SERVICE_SUFFIX }}" BKP_DOCKER_2_LOC_SERVICE_ALL: "{{ role_name }}-everything{{ SYS_SERVICE_SUFFIX }}" # Verify if DB is enabled BKP_DOCKER_2_LOC_DB_ENABLED: "{{ database_type | default('') | bool }}" # Gather mapped values as lists BKP_DOCKER_2_LOC_DB_ROUTINE: >- {{ applications | find_dock_val_by_bkp_entr('database_routine', 'name') | list }} BKP_DOCKER_2_LOC_NO_STOP_REQUIRED: >- {{ applications | find_dock_val_by_bkp_entr('no_stop_required', 'image') | list }} BKP_DOCKER_2_LOC_DISABLED: >- {{ applications | find_dock_val_by_bkp_entr('disabled', 'image') | list }} # CLI argument strings (only set if list not empty) BKP_DOCKER_2_LOC_DB_ROUTINE_CLI: >- {% if BKP_DOCKER_2_LOC_DB_ROUTINE | length > 0 -%} --database-containers {{ BKP_DOCKER_2_LOC_DB_ROUTINE | join(' ') }} {%- endif %} BKP_DOCKER_2_LOC_NO_STOP_REQUIRED_CLI: >- {% if BKP_DOCKER_2_LOC_NO_STOP_REQUIRED | length > 0 -%} --images-no-stop-required {{ BKP_DOCKER_2_LOC_NO_STOP_REQUIRED | join(' ') }} {%- endif %} BKP_DOCKER_2_LOC_DISABLED_CLI: >- {% if BKP_DOCKER_2_LOC_DISABLED | length > 0 -%} --images-no-backup-required {{ BKP_DOCKER_2_LOC_DISABLED | join(' ') }} {%- endif %} # List of CLI args for convenience (e.g. for looping or joining) BKP_DOCKER_2_LOC_CLI_ARGS_LIST: - "{{ BKP_DOCKER_2_LOC_DB_ROUTINE_CLI }}" - "{{ BKP_DOCKER_2_LOC_NO_STOP_REQUIRED_CLI }}" - "{{ BKP_DOCKER_2_LOC_DISABLED_CLI }}" BKP_DOCKER_2_LOC_EXEC: >- /usr/bin/python {{ backup_docker_to_local_folder }}backup-docker-to-local.py --compose-dir {{ PATH_DOCKER_COMPOSE_INSTANCES }} {{ BKP_DOCKER_2_LOC_CLI_ARGS_LIST | select('string') | join(' ') }}