46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
source "$(dirname "$0")/lib.sh"
|
|
umask 077
|
|
|
|
prepare_secret() {
|
|
local path=$1
|
|
local value=$2
|
|
if [[ ! -f "$path" ]]; then
|
|
printf '%s\n' "$value" >"$path"
|
|
fi
|
|
chmod 600 "$path"
|
|
}
|
|
|
|
mkdir -p \
|
|
"$E2E_ROOT/control/runtime/state" \
|
|
"$E2E_ROOT/control/runtime/backups" \
|
|
"$E2E_ROOT/control/secrets"
|
|
prepare_secret \
|
|
"$E2E_ROOT/control/secrets/archive_control_token" \
|
|
"archive-control-e2e-token"
|
|
|
|
for node in "${E2E_NODES[@]}"; do
|
|
node_root="$E2E_ROOT/$node"
|
|
mkdir -p \
|
|
"$node_root/secrets" \
|
|
"$node_root/runtime/syncthing" \
|
|
"$node_root/runtime/sync" \
|
|
"$node_root/runtime/qb-config/qBittorrent" \
|
|
"$node_root/runtime/qb-data" \
|
|
"$node_root/runtime/client-state" \
|
|
"$node_root/runtime/client-backups"
|
|
prepare_secret \
|
|
"$node_root/secrets/archive_control_token" \
|
|
"archive-control-e2e-token"
|
|
prepare_secret \
|
|
"$node_root/secrets/syncthing_api_key" \
|
|
"archive-control-e2e-${node}-syncthing-key"
|
|
prepare_secret "$node_root/secrets/qb_password" "adminadmin"
|
|
qb_config="$node_root/runtime/qb-config/qBittorrent/qBittorrent.conf"
|
|
if [[ ! -f "$qb_config" ]]; then
|
|
cp "$E2E_ROOT/common/qBittorrent.conf" "$qb_config"
|
|
fi
|
|
done
|