mirror of
https://github.com/sshuttle/sshuttle.git
synced 2024-11-28 10:53:21 +01:00
43 lines
774 B
Bash
Executable File
43 lines
774 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -e
|
|
cd "$(dirname "$0")"
|
|
|
|
if [[ -z $1 || $1 = -* ]]; then
|
|
set -- up "$@"
|
|
fi
|
|
|
|
function with_set_x() {
|
|
set -x
|
|
"$@"
|
|
{
|
|
ec=$?
|
|
set +x
|
|
return $ec
|
|
} 2>/dev/null
|
|
}
|
|
|
|
function build() {
|
|
# podman build -t ghcr.io/sshuttle/sshuttle-testbed .
|
|
with_set_x docker build -t ghcr.io/sshuttle/sshuttle-testbed -f Containerfile .
|
|
}
|
|
|
|
function compose() {
|
|
# podman-compose "$@"
|
|
with_set_x docker compose "$@"
|
|
}
|
|
|
|
function get-ip() {
|
|
local container_name=sshuttle-testbed-"$1"
|
|
docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' "$container_name"
|
|
}
|
|
|
|
if [[ $1 == get-ip ]]; then
|
|
shift
|
|
get-ip "$@"
|
|
else
|
|
if [[ $* = *--build* ]]; then
|
|
build
|
|
fi
|
|
compose "$@"
|
|
fi
|