[WIP] Docker Templater

This commit is contained in:
Kevin Baensch 2022-12-13 17:04:48 +01:00
parent 90c0bb52e3
commit d1c6d54a22
5 changed files with 186 additions and 2 deletions

16
templates/caddy.sh Normal file
View file

@ -0,0 +1,16 @@
#!/usr/bin/env bash
set -e
TEMPLATE='reverse_proxy $LOCAL_WEB_HOST ${LOCAL_IP}:$LOCAL_WEB_PORT'
label_hook() {
LOCAL_WEB_PORT="${LOCAL_WEB_PORT:-80}"
}
template_hook() {
if grep -q '^reverse_proxy [^\s] [:.0-9a-e]\+:\d+$' <<< "${PARTIAL_RESULT}"
then
return 0;
fi
return 1;
}

40
templates/hosts.sh Normal file
View file

@ -0,0 +1,40 @@
#!/usr/bin/env bash
set -e
HOST_CONF_PATH="${HOST_CONF_PATH:-/tmp/hosts}"
RESOLVE_DOCKERHOST="${RESOLVE_DOCKERHOST:-false}"
DOCKER_HOSTNAME_VAR="${DOCKER_HOSTNAME_VAR:-LOCAL_WEB_HOST}"
if [ -f "${HOST_CONF_PATH}" ]
then
WRAP_START=$(grep -ve "# Added by hostman$" "${HOST_CONF_PATH}")
WRAP_START+="\n"
else
printf "[WARN]: No such file or directory: %s\n" "${HOST_CONF_PATH}"
printf "Creating %s" "${HOST_CONF_PATH}"
touch "${HOST_CONF_PATH}"
fi
if ! $RESOLVE_DOCKERHOST
then
TEMPLATE='127.0.0.1 '
else
TEMPLATE='$LOCAL_IP '
fi
TEMPLATE="${TEMPLATE}\${${DOCKER_HOSTNAME_VAR}} # Added by hostman"
# Allow overriding out for debugging and testing purposs
if [ -z "${HOST_CONF_OUT+.}" ]
then
OUT="${HOST_CONF_PATH}"
else
OUT="${HOST_CONF_OUT}"
fi
check_template() {
if grep -q '^[:.0-9a-e]\+ [^\s]\+ # Added by hostman$' <<< "${PARTIAL_RESULT}"
then
return 0;
fi
return 1;
}

6
templates/sqlproxy.sh Normal file
View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
set -e
WRAP_START='[\n'
TEMPLATE=' { type: "${LOCAL_DB_TYPE}", user: "${LOCAL_DB_USER}", password: "${LOCAL_DB_PASSWORD}", host: "${LOCAL_DB_HOST}", port: "${LOCAL_DB_PORT}" }'
SEPARATOR=',\n'
WRAP_END='\n]'