Files
docker-volume-backup/test/print-config/run.sh
Lennard 3d8960a351 Add "print-config" subcommand (#698)
* Add "show-config" subcommand

* Add integration tests

* Handle wrong additional args

* Support "BackupFilenameExpand" option

* Rename to print-config

* Remove config nil check as it will never be nil

* Rework print config to work with config.resolve()

* Use defer unset()

* Add warning about feature not being stable yet
2026-01-15 12:29:09 +01:00

69 lines
1.8 KiB
Bash
Executable File

#!/bin/sh
set -e
cd "$(dirname "$0")"
. ../util.sh
current_test=$(basename $(pwd))
info "print-config with environment variables"
docker compose up -d --quiet-pull
logs=$(docker compose exec -T backup backup print-config)
echo "$logs"
if ! echo "$logs" | grep -q "source=from environment"; then
fail "Missing source line."
fi
pass "Source line present."
if ! echo "$logs" | grep -q "BackupSources:/backup"; then
fail "Missing BACKUP_SOURCES in output."
fi
pass "BACKUP_SOURCES present."
if ! echo "$logs" | grep -q "BackupFilename:backup-expanded.tar"; then
fail "Missing expanded BACKUP_FILENAME in output."
fi
pass "Expanded BACKUP_FILENAME present."
if ! echo "$logs" | grep -q "NotificationURLs:\[stdout://\]"; then
fail "Missing NOTIFICATION_URLS in output."
fi
pass "NOTIFICATION_URLS present."
if ! echo "$logs" | grep -q "AwsS3BucketName:example-bucket"; then
fail "Missing AWS_S3_BUCKET_NAME in output."
fi
pass "AWS_S3_BUCKET_NAME present."
docker compose down
info "print-config with conf.d and _FILE"
export CONF_DIR=$(pwd)/conf.d
export SECRET_FILE=$(mktemp)
printf "stdout://\n" > "$SECRET_FILE"
docker compose -f docker-compose.confd.yml up -d --quiet-pull
logs=$(docker compose -f docker-compose.confd.yml exec -T backup backup print-config)
echo "$logs"
if ! echo "$logs" | grep -q "source=01print-config.env"; then
fail "Missing conf.d source line."
fi
pass "conf.d source line present."
if ! echo "$logs" | grep -q "BackupSources:/conf-backup"; then
fail "Missing conf.d BACKUP_SOURCES in output."
fi
pass "conf.d BACKUP_SOURCES present."
if ! echo "$logs" | grep -q "NotificationURLs:\\[stdout://"; then
fail "Missing conf.d NOTIFICATION_URLS in output."
fi
pass "conf.d NOTIFICATION_URLS present."
docker compose -f docker-compose.confd.yml down
rm -f "$SECRET_FILE"