Select Git revision
koolbox 1.16 KiB
#!/bin/sh
PROGRAM_NAME=koolbox
CACHE_DIR="${XDG_CACHE_HOME:-$HOME/.cache}/$PROGRAM_NAME"
CONFIG_DIR="${XDG_CONFIG_HOME:-$HOME/.config}/$PROGRAM_NAME"
DATA_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/$PROGRAM_NAME"
# Warm up all directories and files mounted to the container
mkdir -p "$CONFIG_DIR/"{kube,helm,ssh} "$CACHE_DIR/"helm "$DATA_DIR/"helm
touch "$CONFIG_DIR/env"
# Make sure this script never runs in home, since it would ruin all SELinux labels
if [ "$(pwd)" = "$HOME" ]; then
echo "Can not run in home directory, would break SELinux labels." >&2
exit 1
fi
# Using systemd-resolved when available
PODMAN_NETWORK_SETTINGS=""
if systemctl -q is-active systemd-resolved.service; then
PODMAN_NETWORK_SETTINGS="--network host --dns 127.0.0.53"
fi
podman run --rm -it \
$PODMAN_NETWORK_SETTINGS \
--env-file="$CONFIG_DIR/env" \
--hostname koolbox \
-v "$CONFIG_DIR/kube:/root/.kube:z" \
-v "$CONFIG_DIR/ssh:/root/.ssh:z" \
-v "$CONFIG_DIR/helm:/root/.config/helm:z" \
-v "$CONFIG_DIR/helm:/root/.cache/helm:z" \
-v "$DATA_DIR/helm:/root/.local/share/helm:z" \
-v "$(pwd):/workspace:z" -w /workspace \
quay.io/sheogorath/koolbox:latest $@