mirror of
https://github.com/netbirdio/netbird.git
synced 2026-10-15 18:09:10 +02:00
55 lines
1.8 KiB
Bash
55 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
set -eo pipefail
|
|
|
|
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
|
|
source "$script_dir/../getting-started.sh"
|
|
compose_command=$(check_docker_compose)
|
|
read -r -a compose <<< "$compose_command"
|
|
|
|
test_dir=$(mktemp -d)
|
|
trap 'rm -rf "$test_dir"' EXIT
|
|
mkdir "$test_dir/deployment"
|
|
cd "$test_dir/deployment"
|
|
|
|
unset COMPOSE_PROJECT_NAME COMPOSE_FILE COMPOSE_ENV_FILES
|
|
# The generator's environment must not bake a project name into the output.
|
|
if [[ "${1:-}" == "--migration" ]]; then
|
|
COMPOSE_PROJECT_NAME=render-only bash -s -- "$script_dir/../migrate.sh" >/dev/null <<'EOF'
|
|
source "$1"
|
|
INSTALL_DIR=$PWD
|
|
DOMAIN=netbird.test
|
|
generate_dashboard_env
|
|
generate_docker_compose_traefik
|
|
EOF
|
|
else
|
|
TRAEFIK_IMAGE=traefik:v3.7.14
|
|
NETBIRD_DOMAIN=netbird.test
|
|
NETBIRD_AGENT_NETWORK=false
|
|
initialize_default_values
|
|
COMPOSE_PROJECT_NAME=render-only generate_configuration_files >/dev/null
|
|
fi
|
|
|
|
assert_network() {
|
|
local expected="$1" actual provider
|
|
shift
|
|
"${compose[@]}" "$@" config --format json >config.json
|
|
actual=$(jq -r '.networks.netbird.name' config.json)
|
|
provider=$(jq -r '.services.traefik.command[] | select(startswith("--providers.docker.network="))' config.json)
|
|
if [[ "$actual" != "$expected" || "$provider" != "--providers.docker.network=$expected" ]]; then
|
|
echo "Expected network '$expected'; Compose chose '$actual', Traefik received '$provider'" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
assert_network deployment_netbird
|
|
COMPOSE_PROJECT_NAME=env-project assert_network env-project_netbird
|
|
echo 'COMPOSE_PROJECT_NAME=file-project' >.env
|
|
assert_network file-project_netbird
|
|
COMPOSE_PROJECT_NAME=env-project assert_network cli-project_netbird -p cli-project
|
|
: >.env
|
|
echo 'name: config-project' >>docker-compose.yml
|
|
assert_network config-project_netbird
|
|
|
|
echo "Passed 5 Compose network scoping cases."
|