-
Notifications
You must be signed in to change notification settings - Fork 70
Expand file tree
/
Copy pathkubedock_setup.sh
More file actions
executable file
·66 lines (51 loc) · 1.87 KB
/
kubedock_setup.sh
File metadata and controls
executable file
·66 lines (51 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
# Kubedock setup script meant to be run from the entrypoint script.
LOCAL_BIN=/home/user/.local/bin
ORIGINAL_PODMAN_PATH=${ORIGINAL_PODMAN_PATH:-"/usr/bin/podman.orig"}
PODMAN_WRAPPER_PATH=${PODMAN_WRAPPER_PATH:-"/usr/bin/podman.wrapper"}
mkdir -p "${LOCAL_BIN}"
if [ "${KUBEDOCK_ENABLED:-false}" = "true" ]; then
echo
echo "Kubedock is enabled (env variable KUBEDOCK_ENABLED is set to true)."
SECONDS=0
KUBEDOCK_TIMEOUT=${KUBEDOCK_TIMEOUT:-10}
until [ -f $KUBECONFIG ]; do
if ((SECONDS > KUBEDOCK_TIMEOUT)); then
break
fi
echo "Kubeconfig doesn't exist yet. Waiting..."
sleep 1
done
if [ -f $KUBECONFIG ]; then
echo "Kubeconfig found."
echo "Fix Kubeconfig permission."
chmod 600 $KUBECONFIG
if [ -z "$KUBEDOCK_PARAMS" ]; then
KUBEDOCK_PARAMS="--reverse-proxy --kubeconfig $KUBECONFIG"
if [ -n "$REQUEST_CPU" ] && [ -n "$REQUEST_MEMORY" ]; then
KUBEDOCK_PARAMS="$KUBEDOCK_PARAMS --request-cpu=$REQUEST_CPU --request-memory=$REQUEST_MEMORY"
fi
if [ -n "$REAPER_KEEPMAX" ]; then
KUBEDOCK_PARAMS="$KUBEDOCK_PARAMS --reapmax=$REAPER_KEEPMAX"
fi
fi
echo "Starting kubedock with params \"${KUBEDOCK_PARAMS}\"..."
kubedock server ${KUBEDOCK_PARAMS} >/tmp/kubedock.log 2>&1 &
echo "Done."
echo "Replacing podman with podman-wrapper..."
ln -f -s "${PODMAN_WRAPPER_PATH}" "${LOCAL_BIN}/podman"
export TESTCONTAINERS_RYUK_DISABLED="true"
export TESTCONTAINERS_CHECKS_DISABLE="true"
echo "Done."
echo
else
echo "Could not find Kubeconfig at $KUBECONFIG"
echo "Giving up..."
fi
else
echo
echo "Kubedock is disabled. It can be enabled with the env variable \"KUBEDOCK_ENABLED=true\""
echo "set in the workspace Devfile or in a Kubernetes ConfigMap in the developer namespace."
echo
ln -f -s "${ORIGINAL_PODMAN_PATH}" "${LOCAL_BIN}/podman"
fi