summary refs log tree commit diff
path: root/bin/enter
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2022-02-09 00:25:02 +0100
committerRobert Günzler <r@gnzler.io>2022-02-09 00:25:02 +0100
commit85e043c6f962ebb1cf9c3ba3e31753e8c7f227a8 (patch)
treeed4e433ae6cf5e23e19e69cfdd9c99d76aa9d8ee /bin/enter
parent3d46fc245e22d0c6ba41fa5353808a805397731b (diff)
bin: drop some scripts
Diffstat (limited to 'bin/enter')
-rwxr-xr-xbin/enter112
1 files changed, 0 insertions, 112 deletions
diff --git a/bin/enter b/bin/enter
deleted file mode 100755
index 68db3d5..0000000
--- a/bin/enter
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/bash
-set -e
-[ -n "$DEBUG" ] && set -x
-
-target=
-img=""
-dockerfile="${PWD}/Dockerfile"
-priv=
-opts=
-become=
-verbose=
-cwd=$PWD
-no_tty=
-read_only=
-
-usage() {
-	printf "usage: %s OPTIONS -- [ARGS]\n" "$(basename "$0")"
-	printf "\n"
-	printf "  -t TARGET\n"
-	printf "  -i IMAGE\n"
-	printf "  -f DOCKERFILE\n"
-	printf "  -o EXTRA OPTIONS\n"
-	printf "  -D (run privileged)\n"
-	printf "  -B (don't reassign uid/gid)\n"
-	printf "  -v (be verbose)\n"
-	printf "  -c CWD\n"
-	printf "  -T (not tty)\n"
-	printf "  -W (readonly)\n"
-	printf "\n"
-	printf "Enter the container defined in Dockerfile, with \$PWD mounted at /src\n"
-	exit 2
-}
-
-while getopts t:i:f:o:c:vBDTWh o; do
-	case $o in
-		t) target="$OPTARG" ;;
-		i) img="$OPTARG" ;;
-		f) dockerfile="$OPTARG" ;;
-		o) opts="$OPTARG" ;;
-		c) cwd="$OPTARG" ;;
-		D) priv=1 ;;
-		B) become=1 ;;
-		v) verbose=1 ;;
-		T) no_tty=1 ;;
-		W) read_only=1 ;;
-		h | ?) usage ;;
-	esac
-done
-shift $((OPTIND - 1))
-
-if [ -z "$img" ]; then
-	name="$(basename "$dockerfile" | cut -d'.' -f1 | tr '[:upper:]' '[:lower:]')" # support <name>.Dockerfile
-	scope="$(basename "$(dirname "$(readlink -f -- "$dockerfile")")" | tr '[:upper:]' '[:lower:]')"
-	# fall back to directory name
-	[ "$name" = "Dockerfile" ] && name="$scope"
-	img="${scope}/${name}"
-
-	# allow setting this to some non-file value to skip building
-	# > enter -i alpine -f none
-	# for a quick alpine based container with $PWD mounted in
-	[ -f "$dockerfile" ] \
-		&& docker build --tag="$img" --target="$target" --file="$dockerfile" "$PWD"
-fi
-
-extra_args=
-[ -n "$become" ] && extra_args="${extra_args} "
-[ -n "$priv" ] && {
-	extra_args="${extra_args} \
-		--tmpfs=/run --tmpfs=/sys/fs/cgroup \
-		--sysctl=net.ipv4.ip_forward=1 \
-		--security-opt=apparmor:unconfined --security-opt=seccomp:unconfined \
-		--cap-add NET_ADMIN --cap-add SYS_ADMIN --cap-add SYS_RESOURCE \
-		--tmpfs=/var/lib/docker"
-}
-# make the container transparent
-[ -z "$priv" ] && {
-	extra_args="${extra_args} \
-		--privileged \
-		--mount=type=bind,src=${HOME},target=${HOME},ro \
-		--network=host"
-}
-
-[ -n "$opts" ] && extra_args="${extra_args} ${opts}"
-
-[ -z "$become" ] \
-	&& extra_args="${extra_args} --user="$(id -u):$(id -g)""
-
-[ -z "$no_tty" ] \
-	&& extra_args="${extra_args} --tty"
-
-[ -n "$read_only" ] \
-	&& read_only=",ro"
-
-ep="sh"
-[ -n "$1" ] && {
-	ep="$1"
-	shift
-}
-
-[ -n "$verbose" ] && { set -x; }
-
-if dev=$(echo "$@" | grep -Po '\/dev\/[^ ]*'); then
-	extra_args="${extra_args} --device=${dev}"
-fi
-
-cname=$(mktemp --dry-run enter_XXXX)
-exec docker run --name "$cname" --rm -i \
-	--env-file <(safe-env) \
-	--uts host \
-	--ipc host \
-	--entrypoint="$ep" \
-	--mount=type=bind,src="$cwd",dst=/src"$read_only" -w /src $extra_args "$img" $@