mirror of
https://github.com/tiennm99/coolify.git
synced 2026-08-20 10:23:30 +00:00
Add Flux agent token issuing, open and revoke Caddy ingress firewall rules, broadcast server-scoped application status updates, and update the dashboard to show unreachable servers as unknown.
79 lines
1.8 KiB
Bash
Executable File
79 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
|
TMP_DIR="$(mktemp -d)"
|
|
trap 'rm -rf "$TMP_DIR"' EXIT
|
|
|
|
mkdir -p "$TMP_DIR/bin"
|
|
cat > "$TMP_DIR/bin/limactl" <<'STUB'
|
|
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
case "${1:-}" in
|
|
list)
|
|
cat <<'LIST'
|
|
NAME STATUS
|
|
coold-dev Running
|
|
coold-dev-2 Running
|
|
LIST
|
|
;;
|
|
shell)
|
|
printf '%s\n' "$*" > "$LIMACTL_SHELL_ARGS_FILE"
|
|
;;
|
|
*)
|
|
printf '%s\n' "$*" > "${LIMACTL_OTHER_ARGS_FILE:-/dev/null}"
|
|
;;
|
|
esac
|
|
STUB
|
|
chmod +x "$TMP_DIR/bin/limactl"
|
|
|
|
export PATH="$TMP_DIR/bin:$PATH"
|
|
export LIMACTL_SHELL_ARGS_FILE="$TMP_DIR/limactl-shell-args"
|
|
export LIMACTL_OTHER_ARGS_FILE="$TMP_DIR/limactl-other-args"
|
|
|
|
assert_equals() {
|
|
local expected="$1"
|
|
local actual="$2"
|
|
local message="$3"
|
|
|
|
if [ "$expected" != "$actual" ]; then
|
|
echo "FAIL: $message" >&2
|
|
echo "Expected: $expected" >&2
|
|
echo "Actual: $actual" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
assert_contains() {
|
|
local needle="$1"
|
|
local haystack="$2"
|
|
local message="$3"
|
|
|
|
if [[ "$haystack" != *"$needle"* ]]; then
|
|
echo "FAIL: $message" >&2
|
|
echo "Expected output to contain: $needle" >&2
|
|
echo "Actual output: $haystack" >&2
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
(
|
|
cd "$ROOT"
|
|
scripts/dev.sh shell coold-dev-2 >/dev/null
|
|
)
|
|
assert_equals "shell coold-dev-2 -- sudo env TERM=xterm-256color SYSTEMD_PAGER=cat SYSTEMD_LESS=FRXMK bash -l" "$(cat "$LIMACTL_SHELL_ARGS_FILE")" "shell accepts a Lima hostname"
|
|
|
|
set +e
|
|
numeric_output="$(cd "$ROOT" && scripts/dev.sh shell 1 2>&1 >/dev/null)"
|
|
numeric_status=$?
|
|
set -e
|
|
|
|
if [ "$numeric_status" -eq 0 ]; then
|
|
echo "FAIL: numeric shell target should be rejected" >&2
|
|
exit 1
|
|
fi
|
|
assert_contains "Use the Lima hostname" "$numeric_output" "numeric shell target explains hostname usage"
|
|
|
|
echo "dev-shell-test: ok"
|