From 38bed674bd522d8e23d5c9ca66d356c4c5884ce7 Mon Sep 17 00:00:00 2001 From: "Michal Jastrzebski (inc0)" Date: Fri, 17 Jul 2015 12:19:02 +0200 Subject: HAProxy container This commit consists HAProxy container. It only supports config-external as this requires orchiestration. Change-Id: I0af28be4f3d4aa40c418f15c40c45630d0fd7c8d Partially-implements: blueprint haproxy-container --- docker/centos/binary/haproxy/Dockerfile | 11 +++++++++++ docker/centos/binary/haproxy/build | 1 + docker/centos/binary/haproxy/config-external.sh | 1 + docker/centos/binary/haproxy/start.sh | 1 + docker/common/haproxy/config-external.sh | 11 +++++++++++ docker/common/haproxy/start.sh | 17 +++++++++++++++++ 6 files changed, 42 insertions(+) create mode 100755 docker/centos/binary/haproxy/Dockerfile create mode 120000 docker/centos/binary/haproxy/build create mode 120000 docker/centos/binary/haproxy/config-external.sh create mode 120000 docker/centos/binary/haproxy/start.sh create mode 100755 docker/common/haproxy/config-external.sh create mode 100755 docker/common/haproxy/start.sh (limited to 'docker') diff --git a/docker/centos/binary/haproxy/Dockerfile b/docker/centos/binary/haproxy/Dockerfile new file mode 100755 index 000000000..40f2af610 --- /dev/null +++ b/docker/centos/binary/haproxy/Dockerfile @@ -0,0 +1,11 @@ +FROM %%KOLLA_NAMESPACE%%/%%KOLLA_PREFIX%%base:%%KOLLA_TAG%% +MAINTAINER Kolla Project (https://launchpad.net/kolla) + +RUN yum -y install \ + haproxy \ + && yum clean all + +COPY start.sh / +COPY config-external.sh /opt/kolla/ + +CMD ["/start.sh"] diff --git a/docker/centos/binary/haproxy/build b/docker/centos/binary/haproxy/build new file mode 120000 index 000000000..8d652f7ee --- /dev/null +++ b/docker/centos/binary/haproxy/build @@ -0,0 +1 @@ +../../../../tools/build-docker-image \ No newline at end of file diff --git a/docker/centos/binary/haproxy/config-external.sh b/docker/centos/binary/haproxy/config-external.sh new file mode 120000 index 000000000..75dc2b408 --- /dev/null +++ b/docker/centos/binary/haproxy/config-external.sh @@ -0,0 +1 @@ +../../../common/haproxy/config-external.sh \ No newline at end of file diff --git a/docker/centos/binary/haproxy/start.sh b/docker/centos/binary/haproxy/start.sh new file mode 120000 index 000000000..9b9c71e73 --- /dev/null +++ b/docker/centos/binary/haproxy/start.sh @@ -0,0 +1 @@ +../../../common/haproxy/start.sh \ No newline at end of file diff --git a/docker/common/haproxy/config-external.sh b/docker/common/haproxy/config-external.sh new file mode 100755 index 000000000..d267eb195 --- /dev/null +++ b/docker/common/haproxy/config-external.sh @@ -0,0 +1,11 @@ +#!/bin/bash +SOURCE="/opt/kolla/haproxy/haproxy.cfg" +TARGET="/etc/haproxy/haproxy.cfg" +OWNER="root" + +if [[ -f "$SOURCE" ]]; then + rm $TARGET + cp $SOURCE $TARGET + chown ${OWNER}: $TARGET + chmod 0644 $TARGET +fi diff --git a/docker/common/haproxy/start.sh b/docker/common/haproxy/start.sh new file mode 100755 index 000000000..68600f44e --- /dev/null +++ b/docker/common/haproxy/start.sh @@ -0,0 +1,17 @@ +#!/bin/bash +set -o errexit + +CMD='/usr/sbin/haproxy' +# Parameters: +# -db for non-daemon execution and logging to stdout +# -p pidfile to specify pidfile and allow hot reconfiguration +# loop which generates -f file.conf for each file in /etc/haproxy and /etc/haproxy/conf.d +ARGS="-db -f /etc/haproxy/haproxy.cfg" + +# Loading common functions. +source /opt/kolla/kolla-common.sh + +# Config-internal script exec out of this function, it does not return here. +set_configs + +exec $CMD $ARGS -- cgit v1.2.3