feat(netvm): add waypipe support and cgroup/netns wrapping for chromebox
This commit is contained in:
+11
-5
@@ -8,10 +8,11 @@
|
||||
set -euo pipefail
|
||||
NETVM_BIN="$(cd "$(dirname "$0")" && pwd)"
|
||||
. "$NETVM_BIN/netvm-names.sh"
|
||||
HEADLESS=0; CDP_OVERRIDE=""; NO_CDP=0; PROFILE=""; URL=""
|
||||
usage() { echo "usage: netvm-chrome.sh [--headless] [--cdp-port N|--no-cdp] <profile> [url]"; }
|
||||
WAYPIPE=0; HEADLESS=0; CDP_OVERRIDE=""; NO_CDP=0; PROFILE=""; URL=""
|
||||
usage() { echo "usage: netvm-chrome.sh [--waypipe] [--headless] [--cdp-port N|--no-cdp] <profile> [url]"; }
|
||||
while [ $# -gt 0 ]; do
|
||||
case "$1" in
|
||||
--waypipe) WAYPIPE=1; shift;;
|
||||
--headless) HEADLESS=1; shift;;
|
||||
--cdp-port) CDP_OVERRIDE="$2"; shift 2;;
|
||||
--cdp-port=*) CDP_OVERRIDE="${1#*=}"; shift;;
|
||||
@@ -44,9 +45,14 @@ if [ "$NO_CDP" = 1 ]; then CDP=""; elif [ -n "$CDP_OVERRIDE" ]; then CDP="$CDP_O
|
||||
|
||||
sudo -n "$NETVM_BIN/netvm-node-up.sh" "$NODE" | tail -1
|
||||
|
||||
LAUNCH_ARGS=(launch "$PROFILE")
|
||||
[ "$HEADLESS" = 1 ] && LAUNCH_ARGS+=(--no-sandbox --headless)
|
||||
LAUNCH_ARGS=(launch "$PROFILE" --no-sandbox)
|
||||
[ "$HEADLESS" = 1 ] && LAUNCH_ARGS+=(--headless)
|
||||
|
||||
[ -n "$CDP" ] && LAUNCH_ARGS+=(--cdp-port "$CDP")
|
||||
[ -n "$URL" ] && LAUNCH_ARGS+=("$URL")
|
||||
[ -n "$CDP" ] && echo "cdp: http://$PEER_IP:$CDP/json/list (local) | ssh -L $CDP:$PEER_IP:$CDP <user>@<tail-ip> (remote)"
|
||||
exec sudo -n "$NETVM_BIN/netvm-enter.sh" "$NODE" "$(id -u)" "$(id -g)" "$HOME" -- "$CHROME_BOX" "${LAUNCH_ARGS[@]}"
|
||||
if [ "$WAYPIPE" = 1 ]; then
|
||||
exec waypipe --compress=lz4 run -- sudo -n "$NETVM_BIN/netvm-enter.sh" "$NODE" "$(id -u)" "$(id -g)" "$HOME" -- "$CHROME_BOX" "${LAUNCH_ARGS[@]}"
|
||||
else
|
||||
exec sudo -n "$NETVM_BIN/netvm-enter.sh" "$NODE" "$(id -u)" "$(id -g)" "$HOME" -- "$CHROME_BOX" "${LAUNCH_ARGS[@]}"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user