mirror of
https://github.com/Tecnativa/docker-socket-proxy
synced 2024-12-30 10:28:10 +00:00
add config templating
This commit is contained in:
parent
87428842ed
commit
ce81071d86
@ -9,6 +9,7 @@ ENV ALLOW_RESTARTS=0 \
|
|||||||
COMMIT=0 \
|
COMMIT=0 \
|
||||||
CONFIGS=0 \
|
CONFIGS=0 \
|
||||||
CONTAINERS=0 \
|
CONTAINERS=0 \
|
||||||
|
DISABLE_IPV6=0 \
|
||||||
DISTRIBUTION=0 \
|
DISTRIBUTION=0 \
|
||||||
EVENTS=1 \
|
EVENTS=1 \
|
||||||
EXEC=0 \
|
EXEC=0 \
|
||||||
@ -30,4 +31,5 @@ ENV ALLOW_RESTARTS=0 \
|
|||||||
TASKS=0 \
|
TASKS=0 \
|
||||||
VERSION=1 \
|
VERSION=1 \
|
||||||
VOLUMES=0
|
VOLUMES=0
|
||||||
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg
|
COPY docker-entrypoint.sh /usr/local/bin/
|
||||||
|
COPY haproxy.cfg /usr/local/etc/haproxy/haproxy.cfg.template
|
||||||
|
33
docker-entrypoint.sh
Executable file
33
docker-entrypoint.sh
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Normalize the input for DISABLE_IPV6 to lowercase
|
||||||
|
DISABLE_IPV6_LOWER=$(echo "$DISABLE_IPV6" | tr '[:upper:]' '[:lower:]')
|
||||||
|
|
||||||
|
# Check for different representations of 'true' and set BIND_CONFIG
|
||||||
|
case "$DISABLE_IPV6_LOWER" in
|
||||||
|
1|true|yes)
|
||||||
|
BIND_CONFIG=":2375"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
BIND_CONFIG="[::]:2375 v4v6"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Process the HAProxy configuration template using sed
|
||||||
|
sed "s/\${BIND_CONFIG}/$BIND_CONFIG/g" /usr/local/etc/haproxy/haproxy.cfg.template > /usr/local/etc/haproxy/haproxy.cfg
|
||||||
|
|
||||||
|
# first arg is `-f` or `--some-option`
|
||||||
|
if [ "${1#-}" != "$1" ]; then
|
||||||
|
set -- haproxy "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" = 'haproxy' ]; then
|
||||||
|
shift # "haproxy"
|
||||||
|
# if the user wants "haproxy", let's add a couple useful flags
|
||||||
|
# -W -- "master-worker mode" (similar to the old "haproxy-systemd-wrapper"; allows for reload via "SIGUSR2")
|
||||||
|
# -db -- disables background mode
|
||||||
|
set -- haproxy -W -db "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exec "$@"
|
@ -44,7 +44,7 @@ backend docker-events
|
|||||||
timeout server 0
|
timeout server 0
|
||||||
|
|
||||||
frontend dockerfrontend
|
frontend dockerfrontend
|
||||||
bind :::2375 v4v6
|
bind ${BIND_CONFIG}
|
||||||
http-request deny unless METH_GET || { env(POST) -m bool }
|
http-request deny unless METH_GET || { env(POST) -m bool }
|
||||||
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool }
|
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/((stop)|(restart)|(kill)) } { env(ALLOW_RESTARTS) -m bool }
|
||||||
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/start } { env(ALLOW_START) -m bool }
|
http-request allow if { path,url_dec -m reg -i ^(/v[\d\.]+)?/containers/[a-zA-Z0-9_.-]+/start } { env(ALLOW_START) -m bool }
|
||||||
|
Loading…
Reference in New Issue
Block a user