From 247674bcd20dd29f51e44131b991b7d659831dea Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Fri, 20 Jan 2017 19:28:05 +0100 Subject: [PATCH 01/14] Feature/container uid (#155) * Add gosu [WIP] * Add auto elevate permissions in entrypoint * Implement dynamic user setting of php-fpm * Implement dynamic user setting of hhvm * Fix fpm/hhvm user setting when container runs for root * Set default CONTAINER_UID to application * Add fpm effective user test * Update configuration example * Reenable gpg signature check for gosu --- docker/base/alpine-3/Dockerfile | 1 + docker/base/alpine-3/conf/bin/entrypoint.sh | 12 ++++ docker/base/centos-7/Dockerfile | 1 + docker/base/centos-7/conf/bin/entrypoint.sh | 12 ++++ docker/base/debian-7/Dockerfile | 1 + docker/base/debian-7/conf/bin/entrypoint.sh | 12 ++++ docker/base/debian-8/Dockerfile | 1 + docker/base/debian-8/conf/bin/entrypoint.sh | 12 ++++ docker/base/debian-9/Dockerfile | 1 + docker/base/debian-9/conf/bin/entrypoint.sh | 12 ++++ docker/base/ubuntu-12.04/Dockerfile | 1 + .../base/ubuntu-12.04/conf/bin/entrypoint.sh | 12 ++++ docker/base/ubuntu-14.04/Dockerfile | 1 + .../base/ubuntu-14.04/conf/bin/entrypoint.sh | 12 ++++ docker/base/ubuntu-15.04/Dockerfile | 1 + .../base/ubuntu-15.04/conf/bin/entrypoint.sh | 12 ++++ docker/base/ubuntu-15.10/Dockerfile | 1 + .../base/ubuntu-15.10/conf/bin/entrypoint.sh | 12 ++++ docker/base/ubuntu-16.04/Dockerfile | 1 + .../base/ubuntu-16.04/conf/bin/entrypoint.sh | 12 ++++ docker/bootstrap/alpine-3/Dockerfile | 16 +++++ docker/bootstrap/centos-7/Dockerfile | 14 ++++ docker/bootstrap/debian-7/Dockerfile | 13 ++++ docker/bootstrap/debian-8/Dockerfile | 13 ++++ docker/bootstrap/debian-9/Dockerfile | 13 ++++ docker/bootstrap/ubuntu-12.04/Dockerfile | 13 ++++ docker/bootstrap/ubuntu-14.04/Dockerfile | 13 ++++ docker/bootstrap/ubuntu-15.04/Dockerfile | 13 ++++ docker/bootstrap/ubuntu-15.10/Dockerfile | 13 ++++ docker/bootstrap/ubuntu-16.04/Dockerfile | 13 ++++ .../ubuntu-14.04/conf/bin/service.d/hhvm.sh | 6 +- .../conf/etc/supervisor.d/hhvm.conf | 1 - .../ubuntu-16.04/conf/bin/service.d/hhvm.sh | 6 +- .../conf/etc/supervisor.d/hhvm.conf | 1 - .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- .../conf/bin/service.d/php-fpm.d/10-init.sh | 9 ++- docker/samson-deployment/latest/Dockerfile | 14 ++++ .../latest/conf/bin/entrypoint.sh | 12 ++++ .../content/Customization/supervisord.rst | 1 - provisioning/base/general/bin/entrypoint.sh | 12 ++++ .../hhvm/general/bin/service.d/hhvm.sh | 6 +- .../hhvm/general/etc/supervisor.d/hhvm.conf | 1 - .../bin/service.d/php-fpm.d/10-init.sh | 9 ++- template/Dockerfile/images/base.jinja2 | 4 ++ template/Dockerfile/images/bootstrap.jinja2 | 69 +++++++++++++++++++ tests/serverspec/conf/app/php-test.php | 4 ++ tests/serverspec/spec/collection/php-fpm5.rb | 2 + tests/serverspec/spec/collection/php-fpm7.rb | 2 + tests/serverspec/spec/shared/php/test.rb | 20 ++++++ 60 files changed, 530 insertions(+), 21 deletions(-) diff --git a/docker/base/alpine-3/Dockerfile b/docker/base/alpine-3/Dockerfile index a03694efc..dd57b5728 100644 --- a/docker/base/alpine-3/Dockerfile +++ b/docker/base/alpine-3/Dockerfile @@ -24,6 +24,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ sed \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/alpine-3/conf/bin/entrypoint.sh b/docker/base/alpine-3/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/alpine-3/conf/bin/entrypoint.sh +++ b/docker/base/alpine-3/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/centos-7/Dockerfile b/docker/base/centos-7/Dockerfile index 93eb8d1b4..b8b88d25e 100644 --- a/docker/base/centos-7/Dockerfile +++ b/docker/base/centos-7/Dockerfile @@ -25,6 +25,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg2 \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/centos-7/conf/bin/entrypoint.sh b/docker/base/centos-7/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/centos-7/conf/bin/entrypoint.sh +++ b/docker/base/centos-7/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/debian-7/Dockerfile b/docker/base/debian-7/Dockerfile index caa179533..4d97946e0 100644 --- a/docker/base/debian-7/Dockerfile +++ b/docker/base/debian-7/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/debian-7/conf/bin/entrypoint.sh b/docker/base/debian-7/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/debian-7/conf/bin/entrypoint.sh +++ b/docker/base/debian-7/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/debian-8/Dockerfile b/docker/base/debian-8/Dockerfile index 7e8df2870..e63534069 100644 --- a/docker/base/debian-8/Dockerfile +++ b/docker/base/debian-8/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/debian-8/conf/bin/entrypoint.sh b/docker/base/debian-8/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/debian-8/conf/bin/entrypoint.sh +++ b/docker/base/debian-8/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/debian-9/Dockerfile b/docker/base/debian-9/Dockerfile index 8c9ebc061..8addeaf61 100644 --- a/docker/base/debian-9/Dockerfile +++ b/docker/base/debian-9/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/debian-9/conf/bin/entrypoint.sh b/docker/base/debian-9/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/debian-9/conf/bin/entrypoint.sh +++ b/docker/base/debian-9/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/ubuntu-12.04/Dockerfile b/docker/base/ubuntu-12.04/Dockerfile index 2d63a78bf..8ecfd2320 100644 --- a/docker/base/ubuntu-12.04/Dockerfile +++ b/docker/base/ubuntu-12.04/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-12.04/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/ubuntu-14.04/Dockerfile b/docker/base/ubuntu-14.04/Dockerfile index 36ebf3c7e..3f420d17b 100644 --- a/docker/base/ubuntu-14.04/Dockerfile +++ b/docker/base/ubuntu-14.04/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-14.04/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/ubuntu-15.04/Dockerfile b/docker/base/ubuntu-15.04/Dockerfile index be925b814..c27a9e708 100644 --- a/docker/base/ubuntu-15.04/Dockerfile +++ b/docker/base/ubuntu-15.04/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-15.04/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/ubuntu-15.10/Dockerfile b/docker/base/ubuntu-15.10/Dockerfile index c5a3bbaf3..a24be351d 100644 --- a/docker/base/ubuntu-15.10/Dockerfile +++ b/docker/base/ubuntu-15.10/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh b/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-15.10/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/base/ubuntu-16.04/Dockerfile b/docker/base/ubuntu-16.04/Dockerfile index 0e3f0c7d3..bfab19c43 100644 --- a/docker/base/ubuntu-16.04/Dockerfile +++ b/docker/base/ubuntu-16.04/Dockerfile @@ -26,6 +26,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh b/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh +++ b/docker/base/ubuntu-16.04/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/docker/bootstrap/alpine-3/Dockerfile b/docker/bootstrap/alpine-3/Dockerfile index 22078db95..ab2ef2e4a 100644 --- a/docker/bootstrap/alpine-3/Dockerfile +++ b/docker/bootstrap/alpine-3/Dockerfile @@ -46,6 +46,22 @@ RUN set -x \ && hash -r \ && pip install ansible \ && chmod 750 /usr/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && apk add --no-cache --virtual .gosu-deps \ + dpkg \ + gnupg \ + openssl \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apk del .gosu-deps \ # Cleanup && apk del python-dev \ && find /var/log/ -mindepth 1 -delete diff --git a/docker/bootstrap/centos-7/Dockerfile b/docker/bootstrap/centos-7/Dockerfile index f1d4970e8..748a8ed2a 100644 --- a/docker/bootstrap/centos-7/Dockerfile +++ b/docker/bootstrap/centos-7/Dockerfile @@ -40,6 +40,20 @@ RUN set -x \ && hash -r \ && pip install ansible \ && chmod 750 /usr/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/yum-install gpg wget \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && yum erase -y wget \ + # Cleanup && yum erase -y python-devel \ && yum clean all \ && find /var/log/ -mindepth 1 -delete diff --git a/docker/bootstrap/debian-7/Dockerfile b/docker/bootstrap/debian-7/Dockerfile index cef8b30f9..976a6678b 100644 --- a/docker/bootstrap/debian-7/Dockerfile +++ b/docker/bootstrap/debian-7/Dockerfile @@ -49,6 +49,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg dirmngr \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget dirmngr \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/debian-8/Dockerfile b/docker/bootstrap/debian-8/Dockerfile index 2a416b84c..a400b08d4 100644 --- a/docker/bootstrap/debian-8/Dockerfile +++ b/docker/bootstrap/debian-8/Dockerfile @@ -49,6 +49,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg dirmngr \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget dirmngr \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/debian-9/Dockerfile b/docker/bootstrap/debian-9/Dockerfile index fdf0f7b96..7736b5673 100644 --- a/docker/bootstrap/debian-9/Dockerfile +++ b/docker/bootstrap/debian-9/Dockerfile @@ -49,6 +49,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg dirmngr \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget dirmngr \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/ubuntu-12.04/Dockerfile b/docker/bootstrap/ubuntu-12.04/Dockerfile index 07c3c1966..16d9beaf6 100644 --- a/docker/bootstrap/ubuntu-12.04/Dockerfile +++ b/docker/bootstrap/ubuntu-12.04/Dockerfile @@ -50,6 +50,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/ubuntu-14.04/Dockerfile b/docker/bootstrap/ubuntu-14.04/Dockerfile index 738095301..3ada6a47e 100644 --- a/docker/bootstrap/ubuntu-14.04/Dockerfile +++ b/docker/bootstrap/ubuntu-14.04/Dockerfile @@ -48,6 +48,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/ubuntu-15.04/Dockerfile b/docker/bootstrap/ubuntu-15.04/Dockerfile index 20f4d49fe..47498cbcc 100644 --- a/docker/bootstrap/ubuntu-15.04/Dockerfile +++ b/docker/bootstrap/ubuntu-15.04/Dockerfile @@ -48,6 +48,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/ubuntu-15.10/Dockerfile b/docker/bootstrap/ubuntu-15.10/Dockerfile index b83142346..9e65c98bf 100644 --- a/docker/bootstrap/ubuntu-15.10/Dockerfile +++ b/docker/bootstrap/ubuntu-15.10/Dockerfile @@ -48,6 +48,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/bootstrap/ubuntu-16.04/Dockerfile b/docker/bootstrap/ubuntu-16.04/Dockerfile index 2a76c1099..40192ace2 100644 --- a/docker/bootstrap/ubuntu-16.04/Dockerfile +++ b/docker/bootstrap/ubuntu-16.04/Dockerfile @@ -48,6 +48,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh index ff0a26578..77d176cd7 100644 --- a/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh +++ b/docker/hhvm/ubuntu-14.04/conf/bin/service.d/hhvm.sh @@ -4,4 +4,8 @@ source /opt/docker/bin/config.sh includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" -exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +if [[ -z "$CONTAINER_UID" ]]; then + CONTAINER_UID="application" +fi + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 --user "${CONTAINER_UID}" diff --git a/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf b/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf index 7a4fc0e29..44ddf7d35 100644 --- a/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf +++ b/docker/hhvm/ubuntu-14.04/conf/etc/supervisor.d/hhvm.conf @@ -6,7 +6,6 @@ priority=20 command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ -user = application startsecs = 0 autostart = true autorestart = true diff --git a/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh index ff0a26578..77d176cd7 100644 --- a/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh +++ b/docker/hhvm/ubuntu-16.04/conf/bin/service.d/hhvm.sh @@ -4,4 +4,8 @@ source /opt/docker/bin/config.sh includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" -exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +if [[ -z "$CONTAINER_UID" ]]; then + CONTAINER_UID="application" +fi + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 --user "${CONTAINER_UID}" diff --git a/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf b/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf index 7a4fc0e29..44ddf7d35 100644 --- a/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf +++ b/docker/hhvm/ubuntu-16.04/conf/etc/supervisor.d/hhvm.conf @@ -6,7 +6,6 @@ priority=20 command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ -user = application startsecs = 0 autostart = true autorestart = true diff --git a/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/alpine-3-php7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/alpine-3/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/centos-7-php56/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/centos-7-php56/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/centos-7-php56/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/centos-7-php56/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/centos-7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/debian-7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/debian-8-php7/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/debian-8/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/debian-9/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/ubuntu-12.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/ubuntu-14.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/ubuntu-15.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/ubuntu-15.10/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh +++ b/docker/php/ubuntu-16.04/conf/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/docker/samson-deployment/latest/Dockerfile b/docker/samson-deployment/latest/Dockerfile index c19e8ea32..d4ecd3a7d 100644 --- a/docker/samson-deployment/latest/Dockerfile +++ b/docker/samson-deployment/latest/Dockerfile @@ -54,6 +54,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg dirmngr \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget dirmngr \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ @@ -84,6 +97,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ && /opt/docker/bin/provision run --tag bootstrap --role webdevops-base \ && /opt/docker/bin/bootstrap.sh diff --git a/docker/samson-deployment/latest/conf/bin/entrypoint.sh b/docker/samson-deployment/latest/conf/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/docker/samson-deployment/latest/conf/bin/entrypoint.sh +++ b/docker/samson-deployment/latest/conf/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/documentation/docs/content/Customization/supervisord.rst b/documentation/docs/content/Customization/supervisord.rst index 41034830f..4be6eb9ce 100644 --- a/documentation/docs/content/Customization/supervisord.rst +++ b/documentation/docs/content/Customization/supervisord.rst @@ -26,7 +26,6 @@ Example configuration for hhvm:: command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ - user = application startsecs = 0 autostart = true autorestart = true diff --git a/provisioning/base/general/bin/entrypoint.sh b/provisioning/base/general/bin/entrypoint.sh index 03730a757..bbabcdddb 100644 --- a/provisioning/base/general/bin/entrypoint.sh +++ b/provisioning/base/general/bin/entrypoint.sh @@ -1,10 +1,22 @@ #!/usr/bin/env bash +if [[ -z "$CONTAINER_UID" ]]; then + export CONTAINER_UID="application" +fi + set -o pipefail # trace ERR through pipes set -o errtrace # trace ERR through 'time command' and other functions set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errexit ## set -e : exit the script if any statement returns a non-true return value +# auto elevate privileges (if container is not started as root) +if [[ "$UID" -ne 0 ]]; then + export CONTAINER_UID="$UID" + exec gosu root "$0" "$@" +fi +# remove suid bit on gosu +chmod -s /usr/local/bin/gosu + trap 'echo sigterm ; exit' SIGTERM trap 'echo sigkill ; exit' SIGKILL diff --git a/provisioning/hhvm/general/bin/service.d/hhvm.sh b/provisioning/hhvm/general/bin/service.d/hhvm.sh index ff0a26578..77d176cd7 100644 --- a/provisioning/hhvm/general/bin/service.d/hhvm.sh +++ b/provisioning/hhvm/general/bin/service.d/hhvm.sh @@ -4,4 +4,8 @@ source /opt/docker/bin/config.sh includeScriptDir "/opt/docker/bin/service.d/hhvm.d/" -exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 +if [[ -z "$CONTAINER_UID" ]]; then + CONTAINER_UID="application" +fi + +exec /usr/bin/hhvm --mode server -vServer.Type=fastcgi -vServer.Port=9000 --user "${CONTAINER_UID}" diff --git a/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf b/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf index 7a4fc0e29..44ddf7d35 100644 --- a/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf +++ b/provisioning/hhvm/general/etc/supervisor.d/hhvm.conf @@ -6,7 +6,6 @@ priority=20 command = /opt/docker/bin/service.d/hhvm.sh process_name=%(program_name)s directory = /var/run/hhvm/ -user = application startsecs = 0 autostart = true autorestart = true diff --git a/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh b/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh index fdffa2a0f..312fcd043 100644 --- a/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh +++ b/provisioning/php/general/bin/service.d/php-fpm.d/10-init.sh @@ -1 +1,8 @@ -# placeholder +# setup user env +FPM_POOL_CONF="/opt/docker/etc/php/fpm/pool.d/application.conf" + +## Setup container uid +if [[ -n "$CONTAINER_UID" ]]; then + sed -i "s/user[ ]*=.*/user = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" + sed -i "s/group[ ]*=.*/group = ${CONTAINER_UID}/g" "$FPM_POOL_CONF" +fi diff --git a/template/Dockerfile/images/base.jinja2 b/template/Dockerfile/images/base.jinja2 index 00a91f0a5..1700c1ebd 100644 --- a/template/Dockerfile/images/base.jinja2 +++ b/template/Dockerfile/images/base.jinja2 @@ -11,6 +11,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ sed \ gnupg \ + && chmod +s /usr/local/bin/gosu \ {{ provision.runRoleInline('base', role) }} {%- endmacro %} @@ -27,6 +28,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg2 \ + && chmod +s /usr/local/bin/gosu \ {{ provision.runRoleInline('base', role) }} {%- endmacro %} @@ -44,6 +46,7 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ {{ provision.runRoleInline('base', role) }} {%- endmacro %} @@ -61,5 +64,6 @@ RUN chmod +x /opt/docker/bin/* \ curl \ net-tools \ gnupg \ + && chmod +s /usr/local/bin/gosu \ {{ provision.runRoleInline('base', role) }} {%- endmacro %} diff --git a/template/Dockerfile/images/bootstrap.jinja2 b/template/Dockerfile/images/bootstrap.jinja2 index e81c7430d..687adddc6 100644 --- a/template/Dockerfile/images/bootstrap.jinja2 +++ b/template/Dockerfile/images/bootstrap.jinja2 @@ -29,6 +29,22 @@ RUN set -x \ && hash -r \ && pip install ansible \ && chmod 750 /usr/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && apk add --no-cache --virtual .gosu-deps \ + dpkg \ + gnupg \ + openssl \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apk del .gosu-deps \ # Cleanup && apk del python-dev \ && find /var/log/ -mindepth 1 -delete @@ -61,6 +77,20 @@ RUN set -x \ && hash -r \ && pip install ansible \ && chmod 750 /usr/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/yum-install gpg wget \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && yum erase -y wget \ + # Cleanup && yum erase -y python-devel \ && yum clean all \ && find /var/log/ -mindepth 1 -delete @@ -101,6 +131,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg dirmngr \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget dirmngr \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ @@ -148,6 +191,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ @@ -193,6 +249,19 @@ RUN export DEBIAN_FRONTEND=noninteractive \ && hash -r \ && pip install ansible \ && chmod 750 /usr/local/bin/ansible* \ + # Install gosu + && GOSU_VERSION=1.10 \ + && /usr/local/bin/apt-install wget gnupg \ + && dpkgArch="amd64" \ + && wget -O /usr/local/bin/gosu "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch" \ + && wget -O /usr/local/bin/gosu.asc "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$dpkgArch.asc" \ + && export GNUPGHOME="$(mktemp -d)" \ + && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \ + && gpg --batch --verify /usr/local/bin/gosu.asc /usr/local/bin/gosu \ + && rm -r "$GNUPGHOME" /usr/local/bin/gosu.asc \ + && chmod +x /usr/local/bin/gosu \ + && gosu nobody true \ + && apt-get purge -y -f --force-yes wget \ # Cleanup && apt-get purge -y -f --force-yes \ python-dev \ diff --git a/tests/serverspec/conf/app/php-test.php b/tests/serverspec/conf/app/php-test.php index ed3eb6b80..19d3b5a58 100644 --- a/tests/serverspec/conf/app/php-test.php +++ b/tests/serverspec/conf/app/php-test.php @@ -22,6 +22,10 @@ echo php_ini_scanned_files(); break; + case 'process_user_id': + echo 'UID:' . posix_getuid() . '#'; + break; + default: header('HTTP/1.1 500 Internal Server Error'); echo 'ERROR: Unknown test'; diff --git a/tests/serverspec/spec/collection/php-fpm5.rb b/tests/serverspec/spec/collection/php-fpm5.rb index 9ecc79934..87b0df19d 100644 --- a/tests/serverspec/spec/collection/php-fpm5.rb +++ b/tests/serverspec/spec/collection/php-fpm5.rb @@ -28,6 +28,7 @@ include_examples 'php::fpm::test::sha1' include_examples 'php::fpm::test::php_ini_scanned_files' include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' include_examples 'php5::fpm::test::version' end end @@ -40,6 +41,7 @@ include_examples 'php::fpm::test::sha1' include_examples 'php::fpm::test::php_ini_scanned_files' include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' include_examples 'php5::fpm::test::version' end end diff --git a/tests/serverspec/spec/collection/php-fpm7.rb b/tests/serverspec/spec/collection/php-fpm7.rb index 3650c8866..4246ee3d9 100644 --- a/tests/serverspec/spec/collection/php-fpm7.rb +++ b/tests/serverspec/spec/collection/php-fpm7.rb @@ -29,6 +29,7 @@ include_examples 'php::fpm::test::sha1' include_examples 'php::fpm::test::php_ini_scanned_files' include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' include_examples 'php7::fpm::test::version' end end @@ -42,6 +43,7 @@ include_examples 'php::fpm::test::sha1' include_examples 'php::fpm::test::php_ini_scanned_files' include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' include_examples 'php7::fpm::test::version' end end diff --git a/tests/serverspec/spec/shared/php/test.rb b/tests/serverspec/spec/shared/php/test.rb index 48c41479d..7ad3467ce 100644 --- a/tests/serverspec/spec/shared/php/test.rb +++ b/tests/serverspec/spec/shared/php/test.rb @@ -130,3 +130,23 @@ end end end + +shared_examples 'php::fpm::test::process_user_id' do + [ + 'http://localhost/php-test.php?test=process_user_id', + 'https://localhost/php-test.php?test=process_user_id' + ].each do |url| + describe command("curl --insecure --silent --retry 10 --fail #{url}") do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should contain('UID:1000#') } + + its(:exit_status) { should eq 0 } + end + end +end From 15e320eca972f51520126c66b12918d368cc998d Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Mon, 23 Jan 2017 21:58:33 +0100 Subject: [PATCH 02/14] Fix baselayout generation Was using multiple baselayout path --- bin/command/generate_provision_command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/command/generate_provision_command.py b/bin/command/generate_provision_command.py index 5ed4d831d..c378bb166 100644 --- a/bin/command/generate_provision_command.py +++ b/bin/command/generate_provision_command.py @@ -95,7 +95,7 @@ def __build_base_layout(self): if self.option('baselayout'): if Output.VERBOSITY_NORMAL <= self.output.get_verbosity(): self.line('* Building localscipts') - base_path = os.path.join(self.configuration.get('baselayoutPath'), 'baselayout') + base_path = self.configuration.get('baselayoutPath') shutil.make_archive('baselayout', 'bztar', base_path) os.rename('baselayout.tar.bz2', 'baselayout.tar') From 19eb273e49c2766b90fc3f38a867685cc06b6b3b Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Mon, 23 Jan 2017 21:58:50 +0100 Subject: [PATCH 03/14] Add service check command --- baselayout/usr/local/bin/service | 35 +++++++++++++++++- docker/bootstrap/alpine-3/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/centos-7/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/debian-7/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/debian-8/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/debian-9/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/ubuntu-12.04/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/ubuntu-14.04/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/ubuntu-15.04/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/ubuntu-15.10/baselayout.tar | Bin 8623 -> 8843 bytes docker/bootstrap/ubuntu-16.04/baselayout.tar | Bin 8623 -> 8843 bytes .../samson-deployment/latest/baselayout.tar | Bin 8623 -> 8843 bytes 12 files changed, 33 insertions(+), 2 deletions(-) diff --git a/baselayout/usr/local/bin/service b/baselayout/usr/local/bin/service index d3ecbfa86..55ea12bf7 100755 --- a/baselayout/usr/local/bin/service +++ b/baselayout/usr/local/bin/service @@ -12,7 +12,19 @@ if [ "$(/usr/bin/whoami)" != "root" ]; then fi function serviceHelp() { - echo "Usage: $(basename "$0") " + echo "Usage: $(basename "$0") " +} + +function getServicePid() { + local serviceName="$1" + local servicePid=$(supervisorctl pid "${serviceName}:${serviceName}d") + + if [[ -z "$servicePid" ]] || [[ "$servicePid" == "0" ]]; then + echo "not running" + exit 1 + fi + + echo $servicePid } # Param check @@ -42,10 +54,29 @@ esac # Action runner ############################# case "$ACTION" in - stop|start|restart|pid|status) + stop|start|restart|status) exec supervisorctl "$ACTION" "${SERVICENAME}:${SERVICENAME}d" ;; + pid) + echo $(getServicePid "${SERVICENAME}") + ;; + + check) + FIRST_PID=$(getServicePid "${SERVICENAME}") + sleep 5 + SECOND_PID=$(getServicePid "${SERVICENAME}") + + if [[ "$FIRST_PID" == "$SECOND_PID" ]]; then + echo "ok" + exit 0 + else + echo "not running" + exit 1 + fi + ;; + + *) echo "[ERROR] Invalid action" serviceHelp diff --git a/docker/bootstrap/alpine-3/baselayout.tar b/docker/bootstrap/alpine-3/baselayout.tar index 59e4b1d50c7d842b25c95d431739a6d54c4dcaef..5b4a89d397ac3868f879143a7abe2c40905ac4bd 100644 GIT binary patch literal 8843 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Nxgwk>NHsTQr-1Y*azOw9 literal 8623 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 Date: Mon, 23 Jan 2017 22:21:53 +0100 Subject: [PATCH 04/14] Fix readthedocs requirements.txt --- Makefile | 2 +- requirements.txt => bin/requirements.txt | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename requirements.txt => bin/requirements.txt (100%) diff --git a/Makefile b/Makefile index 5f741cca9..d71e79632 100644 --- a/Makefile +++ b/Makefile @@ -30,7 +30,7 @@ applications: webdevops/typo3 webdevops/piwik misc: webdevops/mail-sandbox webdevops/sphinx webdevops/liquibase requirements: - pip install -r ./requirements.txt + pip install -r ./bin/requirements.txt cd tests/serverspec && bundle install --path=vendor test: diff --git a/requirements.txt b/bin/requirements.txt similarity index 100% rename from requirements.txt rename to bin/requirements.txt From 5b0e208dd8e5dfbcb5b7778786e1919728dba3f1 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Mon, 23 Jan 2017 23:56:36 +0100 Subject: [PATCH 05/14] Fix baselayout building Enforce correct owner and group --- bin/command/generate_provision_command.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/bin/command/generate_provision_command.py b/bin/command/generate_provision_command.py index c378bb166..cdf3cec44 100644 --- a/bin/command/generate_provision_command.py +++ b/bin/command/generate_provision_command.py @@ -24,6 +24,7 @@ import time import Queue import shutil +import grp from cleo import Output from webdevops import Provisioner from webdevops.command import BaseCommand @@ -96,7 +97,16 @@ def __build_base_layout(self): if Output.VERBOSITY_NORMAL <= self.output.get_verbosity(): self.line('* Building localscipts') base_path = self.configuration.get('baselayoutPath') - shutil.make_archive('baselayout', 'bztar', base_path) + + root_group = grp.getgrgid(0) + + shutil.make_archive( + base_name='baselayout', + format='bztar', + root_dir=base_path, + owner='root', + group=root_group.gr_name + ) os.rename('baselayout.tar.bz2', 'baselayout.tar') From b355edcf5bdf36734a2414be798e4d99f3f060e5 Mon Sep 17 00:00:00 2001 From: WebDevOps Bot Date: Tue, 24 Jan 2017 00:41:10 +0100 Subject: [PATCH 06/14] Update baselayout --- docker/bootstrap/alpine-3/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/centos-7/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/debian-7/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/debian-8/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/debian-9/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/ubuntu-12.04/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/ubuntu-14.04/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/ubuntu-15.04/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/ubuntu-15.10/baselayout.tar | Bin 8843 -> 8766 bytes docker/bootstrap/ubuntu-16.04/baselayout.tar | Bin 8843 -> 8766 bytes .../samson-deployment/latest/baselayout.tar | Bin 8843 -> 8766 bytes 11 files changed, 0 insertions(+), 0 deletions(-) diff --git a/docker/bootstrap/alpine-3/baselayout.tar b/docker/bootstrap/alpine-3/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/centos-7/baselayout.tar b/docker/bootstrap/centos-7/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/debian-7/baselayout.tar b/docker/bootstrap/debian-7/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/debian-8/baselayout.tar b/docker/bootstrap/debian-8/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 zcmZ8`RZtrYxNPv?!L85$f#TL+MVjEQ!7aEu6e&>LB?NbZ6)&Yo(c)H|;_fX_plAz~ z`=4_k?#$hX{dVTthke|cl{0mc6o#8{>YMCC`g8%zpf??Veglwi{{26c0&uZG04xB2 z9?9JsdPzLv`P{vawP=U#eXnh3e&)Tn8@PRbt1D>pyZI0B?u1@&@vjR()Ptp`w%T=9 zjOV*v?wg0~(OO*|%0<7ED3dxT6kusxQ!~LpuQoqDe~PYMYuPq49wb6(r-ALvpxKho zovf`;3~z-(oxa>c$As~dwe@eo?(&+XjHDWzV7M@_O7~D&=av+@mJfA;LID6qoQbeZ z0DzQ%h@B@mjSDa<0{9Q4P=M3_+{~LqkhTt$rc&lw+C)i0CCj|%(;6Ar0?hd&7=|x@ zt4W_c8wCbd04as?ac|@`k|AHja;wH%7)hMI+@wJmaa^2Bu}UEdFkC=B0G4l;r>&_! zUX#I^uLKQ-<0~nN(kJIWtEYQvH5t|nj6WcoE!;(p8ULHa<=P_#g_GstrDl|!XAs`Z zheA^lOFzPMYrVcF|o}M0|KUOIi zjG`w682DvU6RIR=g1Jgt*viVF;1p4n+C`meUb*?wMLn)rC{IiEe0(BswhY{=35cw1 zDbpcV!GD7t%2X-+odt~+|y4d+(NKZR_v?KvT-f%ws!Le(PIwvss&BihL`XC6)pgFBJj zkGKjz_)3LLR?63I;S9g0O|j10Z)|Xyp*3k{R{7c(WUyDqr0xDn#3zhnIfuORblz_$EWw5Q}hB;jq7Z4i`<7Il?T5k7hZHBcJZ~Rv=q1`Ismfu zKGvPCwd~nrIU!hdXW`umN&^PJP0HjiMCuz`;41s`OdH%eGw9#tl0@h3!%jf8F#?X! zmOrb*@zRow0OJufeWq3-hkR`2Kaep6)oZ5a1}GPlI1&wj8x zCx8A^LWSKL2XfTNEv(l_S%JYhNP45I<+; zUih(V!R33~x^rl}Te{Ei@)RL`Fm)>j^zEf)z~bq^x2fBWPH~fqRQ-Kk^M(({=~pSI zbKVO!(lc!#&ENMKm&3SRNEKf4wo<$gIxyEB7U?fairqg8GNP0jJ~!*To6|yeq&nagaz^{{NE|~Y7+p|AbYOwYp+M&6BGzN+W{|h#=54xlfnVRxEetpKPkKZ8ac4)P`T1A5;Wk{ug zhr)j*8jt_$H9Xv?0XHj}Kv0nELL-r3UVFvr`Gzr;_JBlNONXA4SX(Ri@&CmkmzX1s9lE4 z2dnUl?Z$8SVWhqfi7ggPQqx0E8s9y)K#fT9-~NPhe@bu$eTQE+eU}8-=EJTo8nKia z^KJJML=t{vhO631OUkLJ60)KHhgl(zXcU_Af913C_L*jPizi}Qt2xqtnSQ@ue#nr1 z{GQKK)%@bd^Q4#Yq_&%NFr+89q)7B*zN+cg4Hp$i!N2eO&1rz%WAEoGWJaXPug!h` z$yLx_3X(NS5lS+JJV+iTk&09_dLA$p`m?!>tv+Ddp#=-AkkSfL4WL64g3%*4d5}m5 zb-jVWe=&G0R(-f3vJ5N}B8EN<6#rd_aoxv2fi?a0gjW}7}Xu5~T0#}-=4Rq=! zJqeV+5g_3~+?Umh>*#$`t(DQ;Oh_z!M>RHa4(Yewv=rSgg9 z*|=pw4?;*1+e^POS;)A&GU;{FQp#Hvnv6d0qE>jMd{vX%?cq@z#N09Hkd8Yf z_Sp3z_`vdT8S!JxJDstE#v(WAczyQ-1q1mGiwAODPtjTrYNk4A zi{-*}CMq+%w=}{0aP&OB4Q@I0s?C6n4~ZJa-=s*~^|LXiUtM3|#rl)L%j$IhN^SFI z-Iz02ZiG(19X+x8O2Xiaam`(-hWB~Qk-&(QZdLxXmn!gfNBg#`LHzY8E^$q?#;Jj$ z`!FOr$GmAWu{u%p-SBbg*>3;wvazPjub~Ho5Xt0N0!d6B6;T7#%OdpNXGQB=+r#~Kk;`=Ygw49(=FOzopPBb~ql+OFEY5;ZM#Ge3 zTg&vEpj8`U-YY}$`Ap9a{OCe1#W9J}ggu+i^czIy82hxH`(~B+P07IiTll?o?4;EC z<+^qAikO1bJ$OD9CUPTDxZ7Q8eq{U1KUb~C*5gh`X_a)&s>!(nv6sT#>|{GUox$@d zt{^{5cig~_N{A;WYwzE%KG71B#U!dk#ar)795+Vi0ko7He#8aWx*l_K2jZyQ?I39T zdm_wJ82Oi90O>d;$C6QmabNt7du1Db?lUFu_q!`C*L{eXb6EK>s@xu#dZD+f&`&8I z`^jc#0+>f8JJnYh&Wym)uATWSTB&<7A0b2)4rB$9rnX=>Ktx2(24PQMR*-*kFZb6K zpwN4*UdJa_`|thBmi`XPDFseeu+OuIOf}9?^w%bq7I1=9Z*w&;YmHTZFM><$*FZH- zCqGf`doEo#2m@n;Rfgl!E7*WkqG9pWHq!`J4PzNzDRi6vvobpQ}+!ySZW#9pt|NDn!zh24R_BG+xf40sut?oZ< zPrp56QTa++2-d%>y;Xf7{Yk_2jm?ki&7)K8VmWIGSa0zyxfi+SE)VCB7JHqA3`_sf zr{ZFtgXgKoCEr6%et5c`QslI(y8rwe>hspqpA_Djew~tacdywzAJD?RNcd5)=(2U= zi>KzZ)aQ&2*QP~e)(%m6@TmO!$ty9%;a!{O!%}xjp}c9D|8yj@%l+LLIFzBzy5h2&?MW!L%~enz`h z^En-<9{Cn*mVV%XM$Pm~9H$frD83~6=62lh-R0}g{$s|a->vLpzjYg>Ed(oHZN-)@ zJvIB^3S&0qZh!EVVN24Ru62|D;2m&U)crd3 zCfG28JAc-DrQNmJ8ynKx(HeD{nT)Y<;}@R`mB67&)_oRj zcbO7X4fxN7^v#To5NGf;N)qcf)mbET`&B0E+V!UOhye$AFYM#dW7SgZO`9I{_*x~@ z)K2m|q9Z~&?4_~n3Y+d#NM>f`-u0LDq!2URNHz}`n}68!nQ}1B+}y(UHt1nELf+G? z(cwk}AGBzy^rqq|TyjS$flW|gC+R5d8ex(BXBS5Ws|mrS3WSNptZ3h#(i#b#mCML( zv^zT85YFBSaCgp6E?Kwnt4^!z3ps#|=8eiD;r8mT2OB&LKfeCa-fR9l+76+kDPsak zy_hWm@5MH`(O)?L{bi{uh9{oH-e?qu{$Z}*C@n!LfHk~%{4}J#bq^CwBQpgF0W|3(nQJ_ns3BYeE`*P!b<=l(mBv_u@68=S|Spp zolS66R>i_O^M&T-dqY;x$rZDJtQM8qtDI0I&)K679Y6+Plmg&>=)7Pb;9t%lxY?2T*#(&Er{TFxulpHhuG+*py~K2b z`<@cJhbt5tc%r07n?bCT@kbY^XXrIkd1_~3vXDQuragZpb8LfpJoiX3=y_goZZq`X>T-m z4I6JgE)tK&l9F(*-{B{ojs#g&(=pY+PkqxDQ*_ujS)cuz33UW>K}!XCC2y$o9@&nn zeqN?)vScPq+apA(FN_z^b-XgJCN&6nO~K??#MXgIlA6M?NG$`xbfj3Q6Hy=#J0^}d z(nLV37YLZF<_J5;z8Gr4E{#ftk(PR@(;b2lWGT9W?j#hka=18$%OJ~_uUHU3WX^=_ z0cRR5Q~H9-sO4V%s;yK*o3oo4Piu|3+xzTww}qA{VRl@h&?b;QATvlReS2s#q1Pf& z(tRZ_$InIgl2wUq`@>Q5p6k4Wm2(@Kx_?&1Nm!(#QLT->fTQ>q8)|m(r_*bb#hCsDS8XO}hhf)DRvH-^* zNw9Q~(6^{bR*o|F{Mwuva&AI?N;m6zFIxR@xGPCW?8q3XlzaA`qAOVkL;co_U#+27 z2u<7Jn%f5L%3dwjnP>DEBdzucueUHceqpuOmiSwsVBD$l5}%~CY}DOBSwi&%5dDDH z5oJw*RgR^oJT8f|20v&k2o3$q_%rbSiCCD|`T1_b0f3TZa)HW`?EIX*q#rDH-{%83 zl$$@d)GPkd`N<+S$-@k zpfTn>)G)~;`eNy+MI|>SqmI@++y?vSM-2)}1trnuGr=kvjv8&cWzD<-?D@rk9imp9 zm^?of-EfX&PYTTz12L6I9xYm*lhXxJ12(0YNSf{SCx1-^Adt9b(G31ds7_^Vjt;(N@~MV+KlQuiFJKW{YDD5>!u#4Wg;i=l zc@{Y_z8$`lX7K0t@gNXugQ@1yUkcJ8MR@?d)sF9dAO#bDwO$q*uW7vUdY?h6^83hclPf@5+2bM7Vj+)hh0Q>^xMoqz`?qzK=r?8NNZ^b&GmHzM4f9pvbOJ^0L$Ap`}B^0 z<#7XxVQMc4>exeA_vzX8^XHu0?N(YFerRVAwEpwwJa&^4gplX;VU_m=nlc86sLp@@ zeKYNWbX@9GMSO;Js}}A<2fl%pADe#EVIm$K4f0+-_SzgwX4A7UC#|zh zUwtOUX{rw58LU3r>yG>pTw#Fr!6$AKlFGf7$cd@Ce8$w0msjfDrJD6z#P8BFk5<2| z_9nK}vX-aB=ytSx&_Pp@JpjMV8a7GqXL6Q5KT>D9lx41lrRy)sXxk@2a5UaxLq`yU z8RF++Xj}J)>>HaBQAE42@CUx-KDW-^e-3_q$cmHe`Of0J?!{ouDFv0iP8|i=TMBzN zl-%u~2WcFX44^4`A^c`50eFPIp_qDADVCD#p3;&hcazl+oZ$7+I$x|2`Sws-sLx{8 zNhqDfdX2ekrZ}Bq#h4}HnYDFwlJ;Y4ykrcQOnf0uSFTqqrzhH&7+@SZ$wK3RJ7teE z{+BNbypwZwC9S0*TdYvOd6XD?9alU~xn=;VB^HWU;AK^Eq)X+bib+s;UqH^+HiwJ? zXG%@yW0PkP!B0C21ej5d!9*lHNa}R|*DE+wo!LY2HD@>P@dxT9Ab}=m10GRko0I8| zrGbe1lv<{9r{2w8NkJ!J`J9O}-3(QFDAZ>U`Ggc+5p-?SnMK;aAA40$HDL!{!S`d< zu|#6^QbJo-6b<5#8NY1utWzD6FVdJ#^G9c8NZ)#?fk*xvv&^{`B~XW!Mh9%h3`kCt zdxcsS3<9Z))18z-I#yh-0@Oq~FbcHT>xJwaN2L3>Oq-e%*y>A3Z9@!&6Yhd}43!T} zDb3OHI~g1*ZJf>vJgj%95=WwQ2zSu>opUNcG+yYX_!T)8Ya)I1CGjRym3sEA_O^dYWGDcBF zaFiz*Gc6m^+E5A2vm%_a)c<}ouBh)}BDoYg&KWej5UM3LU1^^7XzMqZ^N1c!*yQ9o zu_u5f$=t>>kZP6ntfU$O)P>x*s6`WAn`T=k{M&d{Ok$O8O8eXz zha!r<%+Z#Kb^+X&GE0(>lQ-#{2afjbIFL1FsF9<(*Z9G}79kkDdH%TaZ^--VseGU* zu}49`@<8LOwFbC4%`%Kxh6dORjx>=x|=w9G9Pe)*b&$kkqi8!m2{cEZigZ5>3&x#WtpvOsuCeNjq1mj(y!xvB1Rt>`g4whN|sGl8y)n zQ5V@D`J!!#j=EiyNXQ16F5*kX^|M%tR9QRZ;uE`9W}z6ix@P#kADWXsA*SO#mbgiw zNwT<9&j>dVN}PDM5wq7ukC~d%vxpp^wSA4lI!22BFW?%cYNvrQLJ3<0S{=Eji(T-H2gLXYhhe%&4p`vfA4n;% z*4v_=Bek-1x#?&;QcN?jJ1UxaCx|MBWRV_Lh9(6UI1M8{ut4y(E;MKW7=4J5*AAG3 zgNL2ZiL*W_7FK`8ig|&gRTT8=4@7Ak)JXyG=X##Hr0 zQF^vPjR31~g$3y&k!-61%lab~92bEy7mU5T;jw&*l4b2OEUp%&82;eD3on;KJ1P3ddf!8LW6 z;RjmguM!+HDzPg*8mf3QdFi{=c*oCf{aJbNy#d3n_(1~L)By$j6rcFFmTRx4SE0Eq z{=4Ed-#lqvQu)UVD}=J2Q=V0ExA;pMSY)Un?Oevd zyBJ|&Ov^lQzz{pQ#TYXNy}f$vacdaA)>kTWFxZR34a651?kMN47VUn5OHum~PCH%4 zSKC~DM35{^H0Y&bhcMb1IVX+q0h3Gjbh6J9>bSssl)<}l!Z9cfbVg<*GyF^dHAtKe zZ!9h+*OC2xT}tYN04OR0-e`UF)N=pEw~ay^etRPQgk9FD2j5T1vdVzMRb?F0k6(bV zIB-(&m58{Eu^&zM>Ru!BSq`y?Q@&EJ?^nnV@^fOHpfT&&9rGZ}*14@NNH{Jjdv3+p z3F#La@*9TY(8DGOhN`x4!zzgw-E?P>Heat*^ddcVr1TPucb%3iqqOe4Po zVafp%KccL75&@My_EWV5Fahz;Oz5$Lnk~MNh+#Q6aT-)oZe=LMSCCLeVnU)`Oll4V zTvFHX8yRo|(T$bXnW#)w;@cJ`zpij;G9qN|>N?GMNgp_?HhXPUZDkU7cuODMMidi0 ze4_ppay?w_U;SkIt0>v(Vd#t!mi(>k0H*H(rz=687KR}{xr{DF^Nrk8j9Rb2+C^{B zn4mc1$j$G9@NP3}F2E^Y!t2;I8|hvrd9}`_08QBiYFb{mhEu0A?$#O|pYyPpG(Fp$ zqp^y90WukN0C8cd+QYxmq` z>QT8T*};Cy=7=yt%PKfk6PJ&55wg^7F5S&fX7Dy z@$3-F05U#6YR({syzm+y@l|>FxCttQC;tkHez$k$oXW&*K$K;X0=wK!5Xx(!qX&V) z_eLNoG$%?J4jsPC;Djg~WNbC&XxPBu8t>;v&wv1AykQK7TN)ca5VjKj1WvZ6tMqmR z$5<`k5gLhU+Q)|Q(Z^|x{l3vzG_7u*O~)-#KDO;*pKx0-X$?uut?j2CI8To!}%z5T^sU`mG4MO}>=*Sumc&@e*o$ zj1qVt;1(B#!$zr2Lt<<*eD zPD6u57|oR%@`Og6^|i!nnSNs83U^#1w~anK$Qlh5_l7TEVb`*9BAlZ0To9^k_N4E1 zetLy3b~40#W0J@w5VGD77KjMKR@U})1*29-c!WrmuvY6rW)`{pWIbWC2Mv7iOd!Mc;+Mp-#9{$Af^cO#0Iod`O z!pi{8l)OvYS~Uj2FBffkL!~tP7U`&qfB5tRU6wf}0T5zul4ScuoI*Lg<`uqJYOP#2 zoSP^n!5qseb1KZXI0ZLTm2Ll730c6`m@w;ekn_%J1lPNY`r|00jd#X*=P)u^lhT)u z?2v~)UhMblF6kHpWNI<#tVKTVro5GK^Ip6HFv}t?rfx+(y}j9McgCDzVtGq_){pCn zCWq?W+b1}L$=FDK61&q45BOTii7%K=J`)q*N5En$_EPxOh%a?%V z{ahCT3=c*AH4Mwre2ToBq$Z6Ky%bs?6xth%1+~!8FO??yHE#s-Zwzx z924(iF48yF5yfWLy%l9TNJ-I|M)6BMp<&Ca5g#np8M)QGmv7u&R mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/debian-9/baselayout.tar b/docker/bootstrap/debian-9/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/ubuntu-12.04/baselayout.tar b/docker/bootstrap/ubuntu-12.04/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/ubuntu-14.04/baselayout.tar b/docker/bootstrap/ubuntu-14.04/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/ubuntu-15.04/baselayout.tar b/docker/bootstrap/ubuntu-15.04/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/ubuntu-15.10/baselayout.tar b/docker/bootstrap/ubuntu-15.10/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/bootstrap/ubuntu-16.04/baselayout.tar b/docker/bootstrap/ubuntu-16.04/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 diff --git a/docker/samson-deployment/latest/baselayout.tar b/docker/samson-deployment/latest/baselayout.tar index 5b4a89d397ac3868f879143a7abe2c40905ac4bd..8c249f50ca6098f884b93bb340319df94b3b31b1 100644 GIT binary patch literal 8766 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 mX^8IF<%`pg_2-);8~UGGizh?lzU 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 Nxgwk>NHsTQr-1Y*azOw9 From 38384dff1ccfbaa9f00aad100dc0252d5000bc9b Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Tue, 24 Jan 2017 21:17:56 +0100 Subject: [PATCH 07/14] Implement rsync-retry --- tests/serverspec/Gemfile | 1 + tests/serverspec/Gemfile.lock | 3 + tests/serverspec/Rakefile | 7 + tests/serverspec/spec/collection/apache.rb | 4 +- tests/serverspec/spec/collection/hhvm.rb | 4 +- tests/serverspec/spec/collection/nginx.rb | 4 +- tests/serverspec/spec/collection/php-fpm5.rb | 36 +++-- tests/serverspec/spec/collection/php-fpm7.rb | 36 +++-- tests/serverspec/spec/docker/vsftp_spec.rb | 4 +- .../spec/shared/apache/listening.rb | 6 +- .../spec/shared/dovecot/listening.rb | 6 +- .../serverspec/spec/shared/hhvm/listening.rb | 18 +-- .../serverspec/spec/shared/nginx/listening.rb | 6 +- tests/serverspec/spec/shared/php/fpm.rb | 20 +-- tests/serverspec/spec/shared/php/test.rb | 132 ++++++++++-------- .../spec/shared/postfix/listening.rb | 6 +- .../shared/samson-deployment/listening.rb | 12 +- tests/serverspec/spec/shared/ssh/listening.rb | 6 +- .../spec/shared/varnish/listening.rb | 6 +- .../serverspec/spec/shared/vsftp/listening.rb | 6 +- tests/serverspec/spec/shared/web/test.rb | 7 +- tests/serverspec/spec/spec_helper.rb | 1 + 22 files changed, 156 insertions(+), 175 deletions(-) diff --git a/tests/serverspec/Gemfile b/tests/serverspec/Gemfile index 4f816a03e..ee6014844 100644 --- a/tests/serverspec/Gemfile +++ b/tests/serverspec/Gemfile @@ -2,6 +2,7 @@ source ENV['GEM_SOURCE'] || "https://rubygems.org" gem 'rake' gem 'rspec-core' +gem 'rspec-retry' gem 'json' gem 'serverspec' gem 'docker-api' diff --git a/tests/serverspec/Gemfile.lock b/tests/serverspec/Gemfile.lock index 9eed3e6b4..b456ea773 100644 --- a/tests/serverspec/Gemfile.lock +++ b/tests/serverspec/Gemfile.lock @@ -28,6 +28,8 @@ GEM rspec-mocks (3.5.0) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.5.0) + rspec-retry (0.5.3) + rspec-core (> 3.3, < 3.6) rspec-support (3.5.0) serverspec (2.37.2) multi_json @@ -49,6 +51,7 @@ DEPENDENCIES json rake rspec-core + rspec-retry serverspec BUNDLED WITH diff --git a/tests/serverspec/Rakefile b/tests/serverspec/Rakefile index 8daf626ae..296e546f9 100644 --- a/tests/serverspec/Rakefile +++ b/tests/serverspec/Rakefile @@ -1,6 +1,13 @@ require 'rake' require 'rspec/core/rake_task' +RSpec.configure do |config| + # show retry status in spec process + config.verbose_retry = true + # show exception that triggers a retry if verbose_retry is set to true + config.display_try_failure_messages = true +end + RSpec::Core::RakeTask.new(:"spec") do |t, args| #t.pattern = 'spec/base/*_spec.rb' end diff --git a/tests/serverspec/spec/collection/apache.rb b/tests/serverspec/spec/collection/apache.rb index b711c1cab..c98e9f822 100644 --- a/tests/serverspec/spec/collection/apache.rb +++ b/tests/serverspec/spec/collection/apache.rb @@ -8,8 +8,6 @@ include_examples 'apache::modules' include_examples 'apache::service::running' - wait_retry 30 do - include_examples 'web::test::pi' - end + include_examples 'web::test::pi' end diff --git a/tests/serverspec/spec/collection/hhvm.rb b/tests/serverspec/spec/collection/hhvm.rb index 5b79232d4..c3902748d 100644 --- a/tests/serverspec/spec/collection/hhvm.rb +++ b/tests/serverspec/spec/collection/hhvm.rb @@ -12,7 +12,5 @@ end shared_examples 'collection::hhvm::webserver-test' do - wait_retry 30 do - include_examples 'php::fpm::test::sha1' - end + include_examples 'php::fpm::test::sha1' end diff --git a/tests/serverspec/spec/collection/nginx.rb b/tests/serverspec/spec/collection/nginx.rb index dbaea159d..42a88d80d 100644 --- a/tests/serverspec/spec/collection/nginx.rb +++ b/tests/serverspec/spec/collection/nginx.rb @@ -7,8 +7,6 @@ # test after services are up include_examples 'nginx::service::running' - wait_retry 30 do - include_examples 'web::test::pi' - end + include_examples 'web::test::pi' end diff --git a/tests/serverspec/spec/collection/php-fpm5.rb b/tests/serverspec/spec/collection/php-fpm5.rb index 87b0df19d..e34de5c9e 100644 --- a/tests/serverspec/spec/collection/php-fpm5.rb +++ b/tests/serverspec/spec/collection/php-fpm5.rb @@ -21,28 +21,24 @@ shared_examples 'collection::php-fpm5::webserver-test::development' do - wait_retry 30 do - include_examples 'php-fpm::modules' - include_examples 'php-fpm5::modules' - include_examples 'php-fpm::modules::development' - include_examples 'php::fpm::test::sha1' - include_examples 'php::fpm::test::php_ini_scanned_files' - include_examples 'php::fpm::test::php_sapi_name' - include_examples 'php::fpm::test::process_user_id' - include_examples 'php5::fpm::test::version' - end + include_examples 'php-fpm::modules' + include_examples 'php-fpm5::modules' + include_examples 'php-fpm::modules::development' + include_examples 'php::fpm::test::sha1' + include_examples 'php::fpm::test::php_ini_scanned_files' + include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' + include_examples 'php5::fpm::test::version' end shared_examples 'collection::php-fpm5::webserver-test::production' do - wait_retry 30 do - include_examples 'php-fpm::modules' - include_examples 'php-fpm5::modules' - include_examples 'php-fpm::modules::production' - include_examples 'php::fpm::test::sha1' - include_examples 'php::fpm::test::php_ini_scanned_files' - include_examples 'php::fpm::test::php_sapi_name' - include_examples 'php::fpm::test::process_user_id' - include_examples 'php5::fpm::test::version' - end + include_examples 'php-fpm::modules' + include_examples 'php-fpm5::modules' + include_examples 'php-fpm::modules::production' + include_examples 'php::fpm::test::sha1' + include_examples 'php::fpm::test::php_ini_scanned_files' + include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' + include_examples 'php5::fpm::test::version' end diff --git a/tests/serverspec/spec/collection/php-fpm7.rb b/tests/serverspec/spec/collection/php-fpm7.rb index 4246ee3d9..6aeaae095 100644 --- a/tests/serverspec/spec/collection/php-fpm7.rb +++ b/tests/serverspec/spec/collection/php-fpm7.rb @@ -22,29 +22,25 @@ shared_examples 'collection::php-fpm7::webserver-test::development' do - wait_retry 30 do - include_examples 'php-fpm::modules' - include_examples 'php-fpm7::modules' - include_examples 'php-fpm::modules::development' - include_examples 'php::fpm::test::sha1' - include_examples 'php::fpm::test::php_ini_scanned_files' - include_examples 'php::fpm::test::php_sapi_name' - include_examples 'php::fpm::test::process_user_id' - include_examples 'php7::fpm::test::version' - end + include_examples 'php-fpm::modules' + include_examples 'php-fpm7::modules' + include_examples 'php-fpm::modules::development' + include_examples 'php::fpm::test::sha1' + include_examples 'php::fpm::test::php_ini_scanned_files' + include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' + include_examples 'php7::fpm::test::version' end shared_examples 'collection::php-fpm7::webserver-test::production' do - wait_retry 30 do - include_examples 'php-fpm::modules' - include_examples 'php-fpm7::modules' - include_examples 'php-fpm::modules::production' - include_examples 'php::fpm::test::sha1' - include_examples 'php::fpm::test::php_ini_scanned_files' - include_examples 'php::fpm::test::php_sapi_name' - include_examples 'php::fpm::test::process_user_id' - include_examples 'php7::fpm::test::version' - end + include_examples 'php-fpm::modules' + include_examples 'php-fpm7::modules' + include_examples 'php-fpm::modules::production' + include_examples 'php::fpm::test::sha1' + include_examples 'php::fpm::test::php_ini_scanned_files' + include_examples 'php::fpm::test::php_sapi_name' + include_examples 'php::fpm::test::process_user_id' + include_examples 'php7::fpm::test::version' end diff --git a/tests/serverspec/spec/docker/vsftp_spec.rb b/tests/serverspec/spec/docker/vsftp_spec.rb index 80e4e508d..49b443ad9 100644 --- a/tests/serverspec/spec/docker/vsftp_spec.rb +++ b/tests/serverspec/spec/docker/vsftp_spec.rb @@ -8,8 +8,8 @@ set :docker_image, @image.id end - include_examples 'collection::bootstrap' - include_examples 'collection::base' + #include_examples 'collection::bootstrap' + #include_examples 'collection::base' include_examples 'collection::vsftp' end diff --git a/tests/serverspec/spec/shared/apache/listening.rb b/tests/serverspec/spec/shared/apache/listening.rb index 45f701da5..ce46ae08a 100644 --- a/tests/serverspec/spec/shared/apache/listening.rb +++ b/tests/serverspec/spec/shared/apache/listening.rb @@ -1,9 +1,7 @@ shared_examples 'apache::listening::public' do describe port(80) do - it "apache should be listening" do - wait_retry 30 do - should be_listening - end + it "apache should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/dovecot/listening.rb b/tests/serverspec/spec/shared/dovecot/listening.rb index 3f504a5a5..56b1575b7 100644 --- a/tests/serverspec/spec/shared/dovecot/listening.rb +++ b/tests/serverspec/spec/shared/dovecot/listening.rb @@ -1,9 +1,7 @@ shared_examples 'dovecot::listening::public' do describe port(143) do - it "dovecot should be listening" do - wait_retry 30 do - should be_listening - end + it "dovecot should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/hhvm/listening.rb b/tests/serverspec/spec/shared/hhvm/listening.rb index 50bce89a5..411dc6d10 100644 --- a/tests/serverspec/spec/shared/hhvm/listening.rb +++ b/tests/serverspec/spec/shared/hhvm/listening.rb @@ -1,27 +1,21 @@ shared_examples 'hhvm::listening::public' do describe port(9000) do - it "hhvm should be listening" do - wait_retry 15 do - should be_listening.with('tcp6') - end + it "hhvm should be listening", :retry => 5, :retry_wait => 10 do + should be_listening.with('tcp6') end end end shared_examples 'hhvm::listening::local-only' do describe port(9000) do - it "hhvm should NOT be listening public" do - wait_retry 15 do - should_not be_listening - end + it "hhvm should NOT be listening public", :retry => 5, :retry_wait => 10 do + should_not be_listening end end describe port(9000) do - it "hhvm should be listening local" do - wait_retry 15 do - should be_listening.on('::1').with('tcp6') - end + it "hhvm should be listening local", :retry => 5, :retry_wait => 10 do + should be_listening.on('::1').with('tcp6') end end end diff --git a/tests/serverspec/spec/shared/nginx/listening.rb b/tests/serverspec/spec/shared/nginx/listening.rb index 8cb9dbf9f..88d18de91 100644 --- a/tests/serverspec/spec/shared/nginx/listening.rb +++ b/tests/serverspec/spec/shared/nginx/listening.rb @@ -1,9 +1,7 @@ shared_examples 'nginx::listening::public' do describe port(80) do - it "nginx should be listening" do - wait_retry 30 do - should be_listening - end + it "nginx should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/php/fpm.rb b/tests/serverspec/spec/shared/php/fpm.rb index f433f0d17..131c1fa99 100644 --- a/tests/serverspec/spec/shared/php/fpm.rb +++ b/tests/serverspec/spec/shared/php/fpm.rb @@ -33,28 +33,22 @@ shared_examples 'php-fpm::listening::public' do describe port(9000) do - it "php-fpm should be listening" do - wait_retry 30 do - should be_listening.on('0.0.0.0').with('tcp') - end + it "php-fpm should be listening", :retry => 5, :retry_wait => 10 do + should be_listening.on('0.0.0.0').with('tcp') end end end -shared_examples 'php-fpm::listening::local-only' do +shared_examples 'php-fpm::listening::local-only' describe port(9000) do - it "php-fpm should NOT be listening public" do - wait_retry 15 do - should_not be_listening.on('0.0.0.0') - end + it "php-fpm should NOT be listening public", :retry => 5, :retry_wait => 10 do + should_not be_listening.on('0.0.0.0') end end describe port(9000) do - it "php-fpm should be listening local" do - wait_retry 30 do - should be_listening.on('127.0.0.1').with('tcp') - end + it "php-fpm should be listening local", :retry => 5, :retry_wait => 10 do + should be_listening.on('127.0.0.1').with('tcp') end end end diff --git a/tests/serverspec/spec/shared/php/test.rb b/tests/serverspec/spec/shared/php/test.rb index 7ad3467ce..fcd7a0deb 100644 --- a/tests/serverspec/spec/shared/php/test.rb +++ b/tests/serverspec/spec/shared/php/test.rb @@ -36,16 +36,18 @@ 'https://localhost/php-test.php?test=sha1' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('2ae62521966cf6d4188acefc943c903e5fc0a25c') } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should contain('2ae62521966cf6d4188acefc943c903e5fc0a25c') } + + its(:exit_status) { should eq 0 } + end end end end @@ -56,16 +58,18 @@ 'https://localhost/php-test.php?test=php_sapi_name' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('fpm-fcgi') } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should contain('fpm-fcgi') } + + its(:exit_status) { should eq 0 } + end end end end @@ -77,16 +81,18 @@ 'https://localhost/php-test.php?test=php_ini_scanned_files' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - its(:stdout) { should contain('-docker.ini') } - its(:stdout) { should contain('-webdevops.ini') } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + its(:stdout) { should contain('-docker.ini') } + its(:stdout) { should contain('-webdevops.ini') } + + its(:exit_status) { should eq 0 } + end end end end @@ -97,16 +103,18 @@ 'https://localhost/php-test.php?test=version' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should match %r!PHP 5\.[3-9]\.[0-9]{1,2}(-[^\(]*)?! } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should match %r!PHP 5\.[3-9]\.[0-9]{1,2}(-[^\(]*)?! } + + its(:exit_status) { should eq 0 } + end end end end @@ -117,16 +125,18 @@ 'https://localhost/php-test.php?test=version' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should match %r!PHP 7\.[0-9]\.[0-9]{1,2}(-[^\(]*)?! } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should match %r!PHP 7\.[0-9]\.[0-9]{1,2}(-[^\(]*)?! } + + its(:exit_status) { should eq 0 } + end end end end @@ -137,16 +147,18 @@ 'https://localhost/php-test.php?test=process_user_id' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('UID:1000#') } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do + its(:stdout) { should_not contain('PHP Notice') } + its(:stdout) { should_not contain('Notice') } + its(:stdout) { should_not contain('PHP Warning') } + its(:stderr) { should_not contain('PHP Notice') } + its(:stderr) { should_not contain('Notice') } + its(:stderr) { should_not contain('PHP Warning') } + + its(:stdout) { should contain('UID:1000#') } + + its(:exit_status) { should eq 0 } + end end end end diff --git a/tests/serverspec/spec/shared/postfix/listening.rb b/tests/serverspec/spec/shared/postfix/listening.rb index 48b69c56c..6b1309138 100644 --- a/tests/serverspec/spec/shared/postfix/listening.rb +++ b/tests/serverspec/spec/shared/postfix/listening.rb @@ -1,9 +1,7 @@ shared_examples 'postfix::listening::public' do describe port(25) do - it "postfix should be listening" do - wait_retry 30 do - should be_listening - end + it "postfix should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/samson-deployment/listening.rb b/tests/serverspec/spec/shared/samson-deployment/listening.rb index 9e5ce978a..ef0dec367 100644 --- a/tests/serverspec/spec/shared/samson-deployment/listening.rb +++ b/tests/serverspec/spec/shared/samson-deployment/listening.rb @@ -1,18 +1,14 @@ shared_examples 'samson-deployment::listening::public' do describe port(80) do - it "samson (nginx reverse proxy) should be listening" do - wait_retry 30 do - should be_listening - end + it "samson (nginx reverse proxy) should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end # will not start because github api keys are needed # describe port(9000) do -# it "samson should be listening" do -# wait_retry 30 do -# should be_listening -# end +# it "samson should be listening", :retry => 5, :retry_wait => 10 do +# should be_listening # end # end end diff --git a/tests/serverspec/spec/shared/ssh/listening.rb b/tests/serverspec/spec/shared/ssh/listening.rb index 588b46059..f0d3854fa 100644 --- a/tests/serverspec/spec/shared/ssh/listening.rb +++ b/tests/serverspec/spec/shared/ssh/listening.rb @@ -1,9 +1,7 @@ shared_examples 'ssh::listening::public' do describe port(22) do - it "ssh should be listening" do - wait_retry 30 do - should be_listening - end + it "ssh should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/varnish/listening.rb b/tests/serverspec/spec/shared/varnish/listening.rb index ab4ca16b7..696356e48 100644 --- a/tests/serverspec/spec/shared/varnish/listening.rb +++ b/tests/serverspec/spec/shared/varnish/listening.rb @@ -1,9 +1,7 @@ shared_examples 'varnish::listening::public' do describe port(80) do - it "varnish should be listening" do - wait_retry 30 do - should be_listening - end + it "varnish should be listening", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/vsftp/listening.rb b/tests/serverspec/spec/shared/vsftp/listening.rb index 4483c02ab..490934311 100644 --- a/tests/serverspec/spec/shared/vsftp/listening.rb +++ b/tests/serverspec/spec/shared/vsftp/listening.rb @@ -1,9 +1,7 @@ shared_examples 'vsftp::listening::public' do describe port(21) do - it "vsftp should be listening" do - wait_retry 30 do - should be_listening - end + it "should listen to port 21", :retry => 5, :retry_wait => 10 do + should be_listening end end end diff --git a/tests/serverspec/spec/shared/web/test.rb b/tests/serverspec/spec/shared/web/test.rb index d7603f636..e08506fc2 100644 --- a/tests/serverspec/spec/shared/web/test.rb +++ b/tests/serverspec/spec/shared/web/test.rb @@ -4,9 +4,10 @@ 'https://localhost/pi-number.html' ].each do |url| describe command("curl --insecure --silent --retry 10 --fail #{url}") do - its(:stdout) { should contain('3.14159265359') } - - its(:exit_status) { should eq 0 } + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + its(:stdout) { should contain('3.14159265359') } + its(:exit_status) { should eq 0 } + end end end end diff --git a/tests/serverspec/spec/spec_helper.rb b/tests/serverspec/spec/spec_helper.rb index c7a46876c..2110ab12b 100644 --- a/tests/serverspec/spec/spec_helper.rb +++ b/tests/serverspec/spec/spec_helper.rb @@ -1,4 +1,5 @@ require 'serverspec' +require 'rspec/retry' base_spec_dir = Pathname.new(File.join(File.dirname(__FILE__))) From 53c6eb6913f0270c05624c7e1e7c2765f0c96c08 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Tue, 24 Jan 2017 21:21:25 +0100 Subject: [PATCH 08/14] Implement new service tests --- tests/serverspec/spec/shared/apache/service.rb | 7 +++++++ tests/serverspec/spec/shared/dovecot/service.rb | 7 +++++++ tests/serverspec/spec/shared/hhvm/service.rb | 7 +++++++ tests/serverspec/spec/shared/nginx/service.rb | 7 +++++++ tests/serverspec/spec/shared/php/service.rb | 7 +++++++ tests/serverspec/spec/shared/postfix/service.rb | 7 +++++++ tests/serverspec/spec/shared/ssh/service.rb | 7 +++++++ tests/serverspec/spec/shared/vsftp/service.rb | 7 +++++++ 8 files changed, 56 insertions(+) diff --git a/tests/serverspec/spec/shared/apache/service.rb b/tests/serverspec/spec/shared/apache/service.rb index a072e89a9..c255f3dbf 100644 --- a/tests/serverspec/spec/shared/apache/service.rb +++ b/tests/serverspec/spec/shared/apache/service.rb @@ -1,4 +1,11 @@ shared_examples 'apache::service::running' do + describe command("service apache check") do + it "should have running apache daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service apache pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/dovecot/service.rb b/tests/serverspec/spec/shared/dovecot/service.rb index 0412423f4..f0519f6cb 100644 --- a/tests/serverspec/spec/shared/dovecot/service.rb +++ b/tests/serverspec/spec/shared/dovecot/service.rb @@ -1,4 +1,11 @@ shared_examples 'dovecot::service::running' do + describe command("service dovecot check") do + it "should have running dovecot daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service dovecot pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/hhvm/service.rb b/tests/serverspec/spec/shared/hhvm/service.rb index 9a3a78125..f709c581b 100644 --- a/tests/serverspec/spec/shared/hhvm/service.rb +++ b/tests/serverspec/spec/shared/hhvm/service.rb @@ -1,4 +1,11 @@ shared_examples 'hhvm::service::running' do + describe command("service hhvm check") do + it "should have running hhvm daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service hhvm pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/nginx/service.rb b/tests/serverspec/spec/shared/nginx/service.rb index 9353d6910..a5463f3f5 100644 --- a/tests/serverspec/spec/shared/nginx/service.rb +++ b/tests/serverspec/spec/shared/nginx/service.rb @@ -1,4 +1,11 @@ shared_examples 'nginx::service::running' do + describe command("service nginx check") do + it "should have running nginx daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service nginx pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/php/service.rb b/tests/serverspec/spec/shared/php/service.rb index 8e677f93e..2e57326af 100644 --- a/tests/serverspec/spec/shared/php/service.rb +++ b/tests/serverspec/spec/shared/php/service.rb @@ -1,4 +1,11 @@ shared_examples 'php-fpm::service::running' do + describe command("service php-fpm check") do + it "should have running php-fpm daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service php-fpm pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/postfix/service.rb b/tests/serverspec/spec/shared/postfix/service.rb index 74e8dfffd..9677804d4 100644 --- a/tests/serverspec/spec/shared/postfix/service.rb +++ b/tests/serverspec/spec/shared/postfix/service.rb @@ -1,4 +1,11 @@ shared_examples 'postfix::service::running' do + describe command("service postfix check") do + it "should have running postfix daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service postfix pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/ssh/service.rb b/tests/serverspec/spec/shared/ssh/service.rb index 80b5eec90..88dfafcfb 100644 --- a/tests/serverspec/spec/shared/ssh/service.rb +++ b/tests/serverspec/spec/shared/ssh/service.rb @@ -1,4 +1,11 @@ shared_examples 'ssh::service::running' do + describe command("service ssh check") do + it "should have running ssh daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service ssh pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } diff --git a/tests/serverspec/spec/shared/vsftp/service.rb b/tests/serverspec/spec/shared/vsftp/service.rb index ae8825fc0..841a73987 100644 --- a/tests/serverspec/spec/shared/vsftp/service.rb +++ b/tests/serverspec/spec/shared/vsftp/service.rb @@ -1,4 +1,11 @@ shared_examples 'vsftp::service::running' do + describe command("service vsftp check") do + it "should have running vsftp daemon", :retry => 5, :retry_wait => 10 do + its(:stdout) { should match 'ok' } + its(:exit_status) { should eq 0 } + end + end + describe command('service vsftp pid | tr -d \'\n\'') do # must not pid 0 its(:stdout) { should_not match %r!^0$! } From f5a1e6b154c629ed166ef792e2e42fca72e705a3 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Tue, 24 Jan 2017 22:28:41 +0100 Subject: [PATCH 09/14] Fix typo --- tests/serverspec/spec/shared/php/fpm.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/serverspec/spec/shared/php/fpm.rb b/tests/serverspec/spec/shared/php/fpm.rb index 131c1fa99..2ec435681 100644 --- a/tests/serverspec/spec/shared/php/fpm.rb +++ b/tests/serverspec/spec/shared/php/fpm.rb @@ -39,7 +39,7 @@ end end -shared_examples 'php-fpm::listening::local-only' +shared_examples 'php-fpm::listening::local-only' do describe port(9000) do it "php-fpm should NOT be listening public", :retry => 5, :retry_wait => 10 do should_not be_listening.on('0.0.0.0') From 3d67c35da29fc3a65a239bf3aa77af7f0ab60a63 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Tue, 24 Jan 2017 23:26:41 +0100 Subject: [PATCH 10/14] Switch to new test syntax --- .../serverspec/spec/shared/apache/service.rb | 7 +- .../serverspec/spec/shared/dovecot/service.rb | 7 +- tests/serverspec/spec/shared/hhvm/service.rb | 7 +- tests/serverspec/spec/shared/nginx/service.rb | 7 +- tests/serverspec/spec/shared/php/service.rb | 7 +- tests/serverspec/spec/shared/php/test.rb | 133 ++++++++---------- .../serverspec/spec/shared/postfix/service.rb | 7 +- tests/serverspec/spec/shared/ssh/service.rb | 7 +- tests/serverspec/spec/shared/vsftp/service.rb | 7 +- tests/serverspec/spec/shared/web/test.rb | 7 +- 10 files changed, 97 insertions(+), 99 deletions(-) diff --git a/tests/serverspec/spec/shared/apache/service.rb b/tests/serverspec/spec/shared/apache/service.rb index c255f3dbf..76f54198f 100644 --- a/tests/serverspec/spec/shared/apache/service.rb +++ b/tests/serverspec/spec/shared/apache/service.rb @@ -1,8 +1,9 @@ shared_examples 'apache::service::running' do - describe command("service apache check") do + describe "service apache check" do it "should have running apache daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service apache check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/dovecot/service.rb b/tests/serverspec/spec/shared/dovecot/service.rb index f0519f6cb..41337f347 100644 --- a/tests/serverspec/spec/shared/dovecot/service.rb +++ b/tests/serverspec/spec/shared/dovecot/service.rb @@ -1,8 +1,9 @@ shared_examples 'dovecot::service::running' do - describe command("service dovecot check") do + describe "service dovecot check" do it "should have running dovecot daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service dovecot check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/hhvm/service.rb b/tests/serverspec/spec/shared/hhvm/service.rb index f709c581b..c0f046c49 100644 --- a/tests/serverspec/spec/shared/hhvm/service.rb +++ b/tests/serverspec/spec/shared/hhvm/service.rb @@ -1,8 +1,9 @@ shared_examples 'hhvm::service::running' do - describe command("service hhvm check") do + describe "service hhvm check" do it "should have running hhvm daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service hhvm check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/nginx/service.rb b/tests/serverspec/spec/shared/nginx/service.rb index a5463f3f5..5d427e721 100644 --- a/tests/serverspec/spec/shared/nginx/service.rb +++ b/tests/serverspec/spec/shared/nginx/service.rb @@ -1,8 +1,9 @@ shared_examples 'nginx::service::running' do - describe command("service nginx check") do + describe "service nginx check" do it "should have running nginx daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service nginx check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/php/service.rb b/tests/serverspec/spec/shared/php/service.rb index 2e57326af..44b8a7fdd 100644 --- a/tests/serverspec/spec/shared/php/service.rb +++ b/tests/serverspec/spec/shared/php/service.rb @@ -1,8 +1,9 @@ shared_examples 'php-fpm::service::running' do - describe command("service php-fpm check") do + describe "service php-fpm check" do it "should have running php-fpm daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service php-fpm check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/php/test.rb b/tests/serverspec/spec/shared/php/test.rb index fcd7a0deb..e775995c1 100644 --- a/tests/serverspec/spec/shared/php/test.rb +++ b/tests/serverspec/spec/shared/php/test.rb @@ -35,18 +35,16 @@ 'http://localhost/php-test.php?test=sha1', 'https://localhost/php-test.php?test=sha1' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('2ae62521966cf6d4188acefc943c903e5fc0a25c') } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to contain('2ae62521966cf6d4188acefc943c903e5fc0a25c') + expect(cmd.exit_status).to eq 0 end end end @@ -57,18 +55,16 @@ 'http://localhost/php-test.php?test=php_sapi_name', 'https://localhost/php-test.php?test=php_sapi_name' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('fpm-fcgi') } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to contain('fpm-fcgi') + expect(cmd.exit_status).to eq 0 end end end @@ -80,18 +76,17 @@ 'http://localhost/php-test.php?test=php_ini_scanned_files', 'https://localhost/php-test.php?test=php_ini_scanned_files' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - its(:stdout) { should contain('-docker.ini') } - its(:stdout) { should contain('-webdevops.ini') } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to contain('-docker.ini') + expect(cmd.stdout).to contain('-webdevops.ini') + expect(cmd.exit_status).to eq 0 end end end @@ -102,18 +97,16 @@ 'http://localhost/php-test.php?test=version', 'https://localhost/php-test.php?test=version' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should match %r!PHP 5\.[3-9]\.[0-9]{1,2}(-[^\(]*)?! } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to match %r!PHP 5\.[3-9]\.[0-9]{1,2}(-[^\(]*)?! + expect(cmd.exit_status).to eq 0 end end end @@ -124,18 +117,16 @@ 'http://localhost/php-test.php?test=version', 'https://localhost/php-test.php?test=version' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should match %r!PHP 7\.[0-9]\.[0-9]{1,2}(-[^\(]*)?! } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to match %r!PHP 7\.[0-9]\.[0-9]{1,2}(-[^\(]*)?! + expect(cmd.exit_status).to eq 0 end end end @@ -146,18 +137,16 @@ 'http://localhost/php-test.php?test=process_user_id', 'https://localhost/php-test.php?test=process_user_id' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do - it "should have running and answering webserver and php app server", :retry => 5, :retry_wait => 10 do - its(:stdout) { should_not contain('PHP Notice') } - its(:stdout) { should_not contain('Notice') } - its(:stdout) { should_not contain('PHP Warning') } - its(:stderr) { should_not contain('PHP Notice') } - its(:stderr) { should_not contain('Notice') } - its(:stderr) { should_not contain('PHP Warning') } - - its(:stdout) { should contain('UID:1000#') } - - its(:exit_status) { should eq 0 } + describe url do + it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).not_to contain('PHP Notice') + expect(cmd.stdout).not_to contain('Notice') + expect(cmd.stdout).not_to contain('PHP Warning') + expect(cmd.stdout).not_to contain('Warning') + expect(cmd.stdout).not_to contain('Fatal Error') + expect(cmd.stdout).to contain('UID:1000#') + expect(cmd.exit_status).to eq 0 end end end diff --git a/tests/serverspec/spec/shared/postfix/service.rb b/tests/serverspec/spec/shared/postfix/service.rb index 9677804d4..f2965da3b 100644 --- a/tests/serverspec/spec/shared/postfix/service.rb +++ b/tests/serverspec/spec/shared/postfix/service.rb @@ -1,8 +1,9 @@ shared_examples 'postfix::service::running' do - describe command("service postfix check") do + describe "service postfix check" do it "should have running postfix daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service postfix check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/ssh/service.rb b/tests/serverspec/spec/shared/ssh/service.rb index 88dfafcfb..da8437b8c 100644 --- a/tests/serverspec/spec/shared/ssh/service.rb +++ b/tests/serverspec/spec/shared/ssh/service.rb @@ -1,8 +1,9 @@ shared_examples 'ssh::service::running' do - describe command("service ssh check") do + describe "service ssh check" do it "should have running ssh daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service ssh check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/vsftp/service.rb b/tests/serverspec/spec/shared/vsftp/service.rb index 841a73987..bcb81f490 100644 --- a/tests/serverspec/spec/shared/vsftp/service.rb +++ b/tests/serverspec/spec/shared/vsftp/service.rb @@ -1,8 +1,9 @@ shared_examples 'vsftp::service::running' do - describe command("service vsftp check") do + describe "service vsftp check" do it "should have running vsftp daemon", :retry => 5, :retry_wait => 10 do - its(:stdout) { should match 'ok' } - its(:exit_status) { should eq 0 } + cmd = command("service vsftp check") + expect(cmd.stdout).to match('ok') + expect(cmd.exit_status).to eq 0 end end diff --git a/tests/serverspec/spec/shared/web/test.rb b/tests/serverspec/spec/shared/web/test.rb index e08506fc2..fda06ef72 100644 --- a/tests/serverspec/spec/shared/web/test.rb +++ b/tests/serverspec/spec/shared/web/test.rb @@ -3,10 +3,11 @@ 'http://localhost/pi-number.html', 'https://localhost/pi-number.html' ].each do |url| - describe command("curl --insecure --silent --retry 10 --fail #{url}") do + describe url do it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do - its(:stdout) { should contain('3.14159265359') } - its(:exit_status) { should eq 0 } + cmd = command("curl --insecure --silent --retry 10 --fail #{url}") + expect(cmd.stdout).to contain('3.14159265359') + expect(cmd.exit_status).to eq 0 end end end From cd03ad217dab701f12e6eec34a86e0f5f902ed65 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Wed, 25 Jan 2017 00:07:12 +0100 Subject: [PATCH 11/14] Set retries to 20 times with each 3 seconds --- tests/serverspec/spec/shared/apache/listening.rb | 2 +- tests/serverspec/spec/shared/apache/service.rb | 2 +- tests/serverspec/spec/shared/dovecot/listening.rb | 2 +- tests/serverspec/spec/shared/dovecot/service.rb | 2 +- tests/serverspec/spec/shared/hhvm/listening.rb | 6 +++--- tests/serverspec/spec/shared/hhvm/service.rb | 2 +- tests/serverspec/spec/shared/nginx/listening.rb | 2 +- tests/serverspec/spec/shared/nginx/service.rb | 2 +- tests/serverspec/spec/shared/php/fpm.rb | 6 +++--- tests/serverspec/spec/shared/php/service.rb | 2 +- tests/serverspec/spec/shared/php/test.rb | 12 ++++++------ tests/serverspec/spec/shared/postfix/listening.rb | 2 +- tests/serverspec/spec/shared/postfix/service.rb | 2 +- .../spec/shared/samson-deployment/listening.rb | 4 ++-- tests/serverspec/spec/shared/ssh/listening.rb | 2 +- tests/serverspec/spec/shared/ssh/service.rb | 2 +- tests/serverspec/spec/shared/varnish/listening.rb | 2 +- tests/serverspec/spec/shared/vsftp/listening.rb | 2 +- tests/serverspec/spec/shared/vsftp/service.rb | 2 +- tests/serverspec/spec/shared/web/test.rb | 2 +- 20 files changed, 30 insertions(+), 30 deletions(-) diff --git a/tests/serverspec/spec/shared/apache/listening.rb b/tests/serverspec/spec/shared/apache/listening.rb index ce46ae08a..64e765dc7 100644 --- a/tests/serverspec/spec/shared/apache/listening.rb +++ b/tests/serverspec/spec/shared/apache/listening.rb @@ -1,6 +1,6 @@ shared_examples 'apache::listening::public' do describe port(80) do - it "apache should be listening", :retry => 5, :retry_wait => 10 do + it "apache should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/apache/service.rb b/tests/serverspec/spec/shared/apache/service.rb index 76f54198f..fc9ed16a2 100644 --- a/tests/serverspec/spec/shared/apache/service.rb +++ b/tests/serverspec/spec/shared/apache/service.rb @@ -1,6 +1,6 @@ shared_examples 'apache::service::running' do describe "service apache check" do - it "should have running apache daemon", :retry => 5, :retry_wait => 10 do + it "should have running apache daemon", :retry => 20, :retry_wait => 3 do cmd = command("service apache check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/dovecot/listening.rb b/tests/serverspec/spec/shared/dovecot/listening.rb index 56b1575b7..42d74b396 100644 --- a/tests/serverspec/spec/shared/dovecot/listening.rb +++ b/tests/serverspec/spec/shared/dovecot/listening.rb @@ -1,6 +1,6 @@ shared_examples 'dovecot::listening::public' do describe port(143) do - it "dovecot should be listening", :retry => 5, :retry_wait => 10 do + it "dovecot should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/dovecot/service.rb b/tests/serverspec/spec/shared/dovecot/service.rb index 41337f347..bf245ecbf 100644 --- a/tests/serverspec/spec/shared/dovecot/service.rb +++ b/tests/serverspec/spec/shared/dovecot/service.rb @@ -1,6 +1,6 @@ shared_examples 'dovecot::service::running' do describe "service dovecot check" do - it "should have running dovecot daemon", :retry => 5, :retry_wait => 10 do + it "should have running dovecot daemon", :retry => 20, :retry_wait => 3 do cmd = command("service dovecot check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/hhvm/listening.rb b/tests/serverspec/spec/shared/hhvm/listening.rb index 411dc6d10..6d7c204b1 100644 --- a/tests/serverspec/spec/shared/hhvm/listening.rb +++ b/tests/serverspec/spec/shared/hhvm/listening.rb @@ -1,6 +1,6 @@ shared_examples 'hhvm::listening::public' do describe port(9000) do - it "hhvm should be listening", :retry => 5, :retry_wait => 10 do + it "hhvm should be listening", :retry => 20, :retry_wait => 3 do should be_listening.with('tcp6') end end @@ -8,13 +8,13 @@ shared_examples 'hhvm::listening::local-only' do describe port(9000) do - it "hhvm should NOT be listening public", :retry => 5, :retry_wait => 10 do + it "hhvm should NOT be listening public", :retry => 20, :retry_wait => 3 do should_not be_listening end end describe port(9000) do - it "hhvm should be listening local", :retry => 5, :retry_wait => 10 do + it "hhvm should be listening local", :retry => 20, :retry_wait => 3 do should be_listening.on('::1').with('tcp6') end end diff --git a/tests/serverspec/spec/shared/hhvm/service.rb b/tests/serverspec/spec/shared/hhvm/service.rb index c0f046c49..89026b789 100644 --- a/tests/serverspec/spec/shared/hhvm/service.rb +++ b/tests/serverspec/spec/shared/hhvm/service.rb @@ -1,6 +1,6 @@ shared_examples 'hhvm::service::running' do describe "service hhvm check" do - it "should have running hhvm daemon", :retry => 5, :retry_wait => 10 do + it "should have running hhvm daemon", :retry => 20, :retry_wait => 3 do cmd = command("service hhvm check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/nginx/listening.rb b/tests/serverspec/spec/shared/nginx/listening.rb index 88d18de91..b52065a11 100644 --- a/tests/serverspec/spec/shared/nginx/listening.rb +++ b/tests/serverspec/spec/shared/nginx/listening.rb @@ -1,6 +1,6 @@ shared_examples 'nginx::listening::public' do describe port(80) do - it "nginx should be listening", :retry => 5, :retry_wait => 10 do + it "nginx should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/nginx/service.rb b/tests/serverspec/spec/shared/nginx/service.rb index 5d427e721..cd6598f42 100644 --- a/tests/serverspec/spec/shared/nginx/service.rb +++ b/tests/serverspec/spec/shared/nginx/service.rb @@ -1,6 +1,6 @@ shared_examples 'nginx::service::running' do describe "service nginx check" do - it "should have running nginx daemon", :retry => 5, :retry_wait => 10 do + it "should have running nginx daemon", :retry => 20, :retry_wait => 3 do cmd = command("service nginx check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/php/fpm.rb b/tests/serverspec/spec/shared/php/fpm.rb index 2ec435681..fe59b23f8 100644 --- a/tests/serverspec/spec/shared/php/fpm.rb +++ b/tests/serverspec/spec/shared/php/fpm.rb @@ -33,7 +33,7 @@ shared_examples 'php-fpm::listening::public' do describe port(9000) do - it "php-fpm should be listening", :retry => 5, :retry_wait => 10 do + it "php-fpm should be listening", :retry => 20, :retry_wait => 3 do should be_listening.on('0.0.0.0').with('tcp') end end @@ -41,13 +41,13 @@ shared_examples 'php-fpm::listening::local-only' do describe port(9000) do - it "php-fpm should NOT be listening public", :retry => 5, :retry_wait => 10 do + it "php-fpm should NOT be listening public", :retry => 20, :retry_wait => 3 do should_not be_listening.on('0.0.0.0') end end describe port(9000) do - it "php-fpm should be listening local", :retry => 5, :retry_wait => 10 do + it "php-fpm should be listening local", :retry => 20, :retry_wait => 3 do should be_listening.on('127.0.0.1').with('tcp') end end diff --git a/tests/serverspec/spec/shared/php/service.rb b/tests/serverspec/spec/shared/php/service.rb index 44b8a7fdd..920500698 100644 --- a/tests/serverspec/spec/shared/php/service.rb +++ b/tests/serverspec/spec/shared/php/service.rb @@ -1,6 +1,6 @@ shared_examples 'php-fpm::service::running' do describe "service php-fpm check" do - it "should have running php-fpm daemon", :retry => 5, :retry_wait => 10 do + it "should have running php-fpm daemon", :retry => 20, :retry_wait => 3 do cmd = command("service php-fpm check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/php/test.rb b/tests/serverspec/spec/shared/php/test.rb index e775995c1..4d1f2304f 100644 --- a/tests/serverspec/spec/shared/php/test.rb +++ b/tests/serverspec/spec/shared/php/test.rb @@ -36,7 +36,7 @@ 'https://localhost/php-test.php?test=sha1' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') @@ -56,7 +56,7 @@ 'https://localhost/php-test.php?test=php_sapi_name' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') @@ -77,7 +77,7 @@ 'https://localhost/php-test.php?test=php_ini_scanned_files' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') @@ -98,7 +98,7 @@ 'https://localhost/php-test.php?test=version' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') @@ -118,7 +118,7 @@ 'https://localhost/php-test.php?test=version' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') @@ -138,7 +138,7 @@ 'https://localhost/php-test.php?test=process_user_id' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).not_to contain('PHP Notice') expect(cmd.stdout).not_to contain('Notice') diff --git a/tests/serverspec/spec/shared/postfix/listening.rb b/tests/serverspec/spec/shared/postfix/listening.rb index 6b1309138..2bfb1881d 100644 --- a/tests/serverspec/spec/shared/postfix/listening.rb +++ b/tests/serverspec/spec/shared/postfix/listening.rb @@ -1,6 +1,6 @@ shared_examples 'postfix::listening::public' do describe port(25) do - it "postfix should be listening", :retry => 5, :retry_wait => 10 do + it "postfix should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/postfix/service.rb b/tests/serverspec/spec/shared/postfix/service.rb index f2965da3b..1e85d99b9 100644 --- a/tests/serverspec/spec/shared/postfix/service.rb +++ b/tests/serverspec/spec/shared/postfix/service.rb @@ -1,6 +1,6 @@ shared_examples 'postfix::service::running' do describe "service postfix check" do - it "should have running postfix daemon", :retry => 5, :retry_wait => 10 do + it "should have running postfix daemon", :retry => 20, :retry_wait => 3 do cmd = command("service postfix check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/samson-deployment/listening.rb b/tests/serverspec/spec/shared/samson-deployment/listening.rb index ef0dec367..45cd83c5c 100644 --- a/tests/serverspec/spec/shared/samson-deployment/listening.rb +++ b/tests/serverspec/spec/shared/samson-deployment/listening.rb @@ -1,13 +1,13 @@ shared_examples 'samson-deployment::listening::public' do describe port(80) do - it "samson (nginx reverse proxy) should be listening", :retry => 5, :retry_wait => 10 do + it "samson (nginx reverse proxy) should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end # will not start because github api keys are needed # describe port(9000) do -# it "samson should be listening", :retry => 5, :retry_wait => 10 do +# it "samson should be listening", :retry => 20, :retry_wait => 3 do # should be_listening # end # end diff --git a/tests/serverspec/spec/shared/ssh/listening.rb b/tests/serverspec/spec/shared/ssh/listening.rb index f0d3854fa..dc0e947c9 100644 --- a/tests/serverspec/spec/shared/ssh/listening.rb +++ b/tests/serverspec/spec/shared/ssh/listening.rb @@ -1,6 +1,6 @@ shared_examples 'ssh::listening::public' do describe port(22) do - it "ssh should be listening", :retry => 5, :retry_wait => 10 do + it "ssh should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/ssh/service.rb b/tests/serverspec/spec/shared/ssh/service.rb index da8437b8c..2715942f1 100644 --- a/tests/serverspec/spec/shared/ssh/service.rb +++ b/tests/serverspec/spec/shared/ssh/service.rb @@ -1,6 +1,6 @@ shared_examples 'ssh::service::running' do describe "service ssh check" do - it "should have running ssh daemon", :retry => 5, :retry_wait => 10 do + it "should have running ssh daemon", :retry => 20, :retry_wait => 3 do cmd = command("service ssh check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/varnish/listening.rb b/tests/serverspec/spec/shared/varnish/listening.rb index 696356e48..87de3197e 100644 --- a/tests/serverspec/spec/shared/varnish/listening.rb +++ b/tests/serverspec/spec/shared/varnish/listening.rb @@ -1,6 +1,6 @@ shared_examples 'varnish::listening::public' do describe port(80) do - it "varnish should be listening", :retry => 5, :retry_wait => 10 do + it "varnish should be listening", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/vsftp/listening.rb b/tests/serverspec/spec/shared/vsftp/listening.rb index 490934311..7d3227043 100644 --- a/tests/serverspec/spec/shared/vsftp/listening.rb +++ b/tests/serverspec/spec/shared/vsftp/listening.rb @@ -1,6 +1,6 @@ shared_examples 'vsftp::listening::public' do describe port(21) do - it "should listen to port 21", :retry => 5, :retry_wait => 10 do + it "should listen to port 21", :retry => 20, :retry_wait => 3 do should be_listening end end diff --git a/tests/serverspec/spec/shared/vsftp/service.rb b/tests/serverspec/spec/shared/vsftp/service.rb index bcb81f490..e19a13863 100644 --- a/tests/serverspec/spec/shared/vsftp/service.rb +++ b/tests/serverspec/spec/shared/vsftp/service.rb @@ -1,6 +1,6 @@ shared_examples 'vsftp::service::running' do describe "service vsftp check" do - it "should have running vsftp daemon", :retry => 5, :retry_wait => 10 do + it "should have running vsftp daemon", :retry => 20, :retry_wait => 3 do cmd = command("service vsftp check") expect(cmd.stdout).to match('ok') expect(cmd.exit_status).to eq 0 diff --git a/tests/serverspec/spec/shared/web/test.rb b/tests/serverspec/spec/shared/web/test.rb index fda06ef72..1a45bef27 100644 --- a/tests/serverspec/spec/shared/web/test.rb +++ b/tests/serverspec/spec/shared/web/test.rb @@ -4,7 +4,7 @@ 'https://localhost/pi-number.html' ].each do |url| describe url do - it "should have running and answering webserver", :retry => 5, :retry_wait => 10 do + it "should have running and answering webserver", :retry => 20, :retry_wait => 3 do cmd = command("curl --insecure --silent --retry 10 --fail #{url}") expect(cmd.stdout).to contain('3.14159265359') expect(cmd.exit_status).to eq 0 From 84ed6700ef97200296f46526d9c31cd6bdf79621 Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Wed, 25 Jan 2017 23:48:40 +0100 Subject: [PATCH 12/14] Disable php-fpm access log for production images Reduce log overhead for production --- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- .../webdevops-php-dev/tasks/bootstrap/php-fpm.yml | 3 ++- .../webdevops-php/tasks/bootstrap/php-fpm.pool.yml | 11 +++++++++-- 50 files changed, 170 insertions(+), 60 deletions(-) diff --git a/docker/php-apache-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-apache-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-apache-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-apache-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-apache-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/alpine-3-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/alpine-3/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/centos-7-php56/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/centos-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/debian-7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/debian-8-php7/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/debian-8/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/debian-9/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/ubuntu-12.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/ubuntu-14.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/ubuntu-15.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/ubuntu-15.10/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php-nginx-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/docker/php-nginx-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/docker/php-nginx-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/docker/php-nginx-dev/ubuntu-16.04/conf/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/docker/php/alpine-3/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/alpine-3/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/alpine-3/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/alpine-3/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/centos-7-php56/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/centos-7-php56/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/centos-7-php56/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/centos-7-php56/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/centos-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/centos-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/centos-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/centos-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/debian-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/debian-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/debian-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/debian-7/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/debian-8/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/debian-8/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/debian-8/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/debian-8/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/ubuntu-12.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/ubuntu-12.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/ubuntu-12.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/ubuntu-12.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/ubuntu-14.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/ubuntu-14.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/ubuntu-14.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/ubuntu-14.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/ubuntu-15.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/ubuntu-15.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/ubuntu-15.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/ubuntu-15.04/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/docker/php/ubuntu-15.10/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/docker/php/ubuntu-15.10/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/docker/php/ubuntu-15.10/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/docker/php/ubuntu-15.10/conf/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' diff --git a/provisioning/php-dev/general/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml b/provisioning/php-dev/general/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml index abf82d989..9455a78e2 100644 --- a/provisioning/php-dev/general/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml +++ b/provisioning/php-dev/general/provision/roles/webdevops-php-dev/tasks/bootstrap/php-fpm.yml @@ -1,11 +1,12 @@ --- -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' line: '{{ item.key }} = {{ item.value }}' with_items: + - { key: 'access.log', value: "/docker.stdout" } - { key: "access.format", value: '"%R - %u %t \"%m %r%Q%q\" %s %f cpu:%C%% mem:%{megabytes}M reqTime:%d"' } - name: Open php-fpm for external connections (eg. debuggers) diff --git a/provisioning/php/general/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml b/provisioning/php/general/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml index 1c9599309..53ee9dfe1 100644 --- a/provisioning/php/general/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml +++ b/provisioning/php/general/provision/roles/webdevops-php/tasks/bootstrap/php-fpm.pool.yml @@ -63,7 +63,7 @@ owner: "root" group: "root" -- name: Configure php-fpm pool user (www.conf) +- name: Configure php-fpm pool user (application.conf) lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' regexp: '^[\s;]*{{ item.key }}[\s]*=' @@ -72,13 +72,20 @@ - { key: 'listen', value: "0.0.0.0:9000" } - { key: 'catch_workers_output', value: "yes" } - { key: 'access.format', value: '[php-fpm:access] %R - %u %t "%m %r%Q%q" %s %f %{mili}d %{kilo}M %C%%' } - - { key: 'access.log', value: "/docker.stdout" } - { key: 'slowlog', value: "/docker.stderr" } - { key: 'php_admin_value[error_log]', value: "/docker.stderr" } - { key: 'php_admin_value[log_errors]', value: "on" } - { key: 'user', value: "{{ APPLICATION_USER }}" } - { key: 'group', value: "{{ APPLICATION_GROUP }}" } +- name: Configure php-fpm pool user (application.conf) + lineinfile: + dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' + regexp: '^[\s;]*{{ item.key }}[\s]*=' + line: ';{{ item.key }} = {{ item.value }}' + with_items: + - { key: 'access.log', value: "/docker.stdout" } + - name: Disable clear env in php-fpm pool lineinfile: dest: '/opt/docker/etc/php/fpm/pool.d/application.conf' From d7c0678082296f952b5d65b991148cab81459a6e Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Thu, 26 Jan 2017 22:26:44 +0100 Subject: [PATCH 13/14] Introduce /entrypoint.d --- .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../conf/provision/roles/webdevops-base/tasks/build.yml | 1 - .../provision/roles/webdevops-base/tasks/bootstrap.yml | 1 + .../roles/webdevops-base/tasks/bootstrap/system.yml | 8 ++++++++ .../provision/roles/webdevops-base/tasks/build.yml | 1 - 36 files changed, 108 insertions(+), 12 deletions(-) create mode 100644 docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml create mode 100644 provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap/system.yml diff --git a/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/alpine-3/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/centos-7/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/debian-7/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/debian-8/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/debian-9/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/ubuntu-12.04/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/ubuntu-14.04/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/ubuntu-15.04/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/ubuntu-15.10/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/base/ubuntu-16.04/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap.yml b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/build.yml b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/build.yml +++ b/docker/samson-deployment/latest/conf/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml diff --git a/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap.yml b/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap.yml index 0de978372..30be03c38 100644 --- a/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap.yml +++ b/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap.yml @@ -1,5 +1,6 @@ --- +- include: bootstrap/system.yml - include: bootstrap/misc.yml - include: bootstrap/root.yml - include: bootstrap/supervisor.yml diff --git a/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap/system.yml b/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap/system.yml new file mode 100644 index 000000000..0bcf102fe --- /dev/null +++ b/provisioning/base/general/provision/roles/webdevops-base/tasks/bootstrap/system.yml @@ -0,0 +1,8 @@ +--- + +- name: Register logrotate configurations + file: + src: '/opt/docker/provision/entrypoint.d' + dest: '/entrypoint.d' + state: link + force: yes diff --git a/provisioning/base/general/provision/roles/webdevops-base/tasks/build.yml b/provisioning/base/general/provision/roles/webdevops-base/tasks/build.yml index 8a56f9ba9..cd21505a4 100644 --- a/provisioning/base/general/provision/roles/webdevops-base/tasks/build.yml +++ b/provisioning/base/general/provision/roles/webdevops-base/tasks/build.yml @@ -1,3 +1,2 @@ --- -- include: bootstrap/logrotate.yml From 99a7b3181673437e0fe23c6dac6717326223f94f Mon Sep 17 00:00:00 2001 From: Markus Blaschke Date: Thu, 26 Jan 2017 23:14:45 +0100 Subject: [PATCH 14/14] Release 1.3.0 --- CHANGELOG.md | 8 ++++++++ docker/ansible/alpine-3/Dockerfile | 2 +- docker/ansible/centos-7/Dockerfile | 2 +- docker/ansible/debian-7/Dockerfile | 2 +- docker/ansible/debian-8/Dockerfile | 2 +- docker/ansible/debian-9/Dockerfile | 2 +- docker/ansible/ubuntu-12.04/Dockerfile | 2 +- docker/ansible/ubuntu-14.04/Dockerfile | 2 +- docker/ansible/ubuntu-15.04/Dockerfile | 2 +- docker/ansible/ubuntu-15.10/Dockerfile | 2 +- docker/ansible/ubuntu-16.04/Dockerfile | 2 +- docker/apache-dev/alpine-3/Dockerfile | 2 +- docker/apache-dev/centos-7/Dockerfile | 2 +- docker/apache-dev/debian-7/Dockerfile | 2 +- docker/apache-dev/debian-8/Dockerfile | 2 +- docker/apache-dev/debian-9/Dockerfile | 2 +- docker/apache-dev/ubuntu-12.04/Dockerfile | 2 +- docker/apache-dev/ubuntu-14.04/Dockerfile | 2 +- docker/apache-dev/ubuntu-15.04/Dockerfile | 2 +- docker/apache-dev/ubuntu-15.10/Dockerfile | 2 +- docker/apache-dev/ubuntu-16.04/Dockerfile | 2 +- docker/apache/alpine-3/Dockerfile | 2 +- docker/apache/centos-7/Dockerfile | 2 +- docker/apache/debian-7/Dockerfile | 2 +- docker/apache/debian-8/Dockerfile | 2 +- docker/apache/debian-9/Dockerfile | 2 +- docker/apache/ubuntu-12.04/Dockerfile | 2 +- docker/apache/ubuntu-14.04/Dockerfile | 2 +- docker/apache/ubuntu-15.04/Dockerfile | 2 +- docker/apache/ubuntu-15.10/Dockerfile | 2 +- docker/apache/ubuntu-16.04/Dockerfile | 2 +- docker/base-app/alpine-3/Dockerfile | 2 +- docker/base-app/centos-7/Dockerfile | 2 +- docker/base-app/debian-7/Dockerfile | 2 +- docker/base-app/debian-8/Dockerfile | 2 +- docker/base-app/debian-9/Dockerfile | 2 +- docker/base-app/ubuntu-12.04/Dockerfile | 2 +- docker/base-app/ubuntu-14.04/Dockerfile | 2 +- docker/base-app/ubuntu-15.04/Dockerfile | 2 +- docker/base-app/ubuntu-15.10/Dockerfile | 2 +- docker/base-app/ubuntu-16.04/Dockerfile | 2 +- docker/base/alpine-3/Dockerfile | 2 +- docker/base/centos-7/Dockerfile | 2 +- docker/base/debian-7/Dockerfile | 2 +- docker/base/debian-8/Dockerfile | 2 +- docker/base/debian-9/Dockerfile | 2 +- docker/base/ubuntu-12.04/Dockerfile | 2 +- docker/base/ubuntu-14.04/Dockerfile | 2 +- docker/base/ubuntu-15.04/Dockerfile | 2 +- docker/base/ubuntu-15.10/Dockerfile | 2 +- docker/base/ubuntu-16.04/Dockerfile | 2 +- docker/bootstrap/alpine-3/Dockerfile | 2 +- docker/bootstrap/centos-7/Dockerfile | 2 +- docker/bootstrap/debian-7/Dockerfile | 2 +- docker/bootstrap/debian-8/Dockerfile | 2 +- docker/bootstrap/debian-9/Dockerfile | 2 +- docker/bootstrap/ubuntu-12.04/Dockerfile | 2 +- docker/bootstrap/ubuntu-14.04/Dockerfile | 2 +- docker/bootstrap/ubuntu-15.04/Dockerfile | 2 +- docker/bootstrap/ubuntu-15.10/Dockerfile | 2 +- docker/bootstrap/ubuntu-16.04/Dockerfile | 2 +- docker/certbot/latest/Dockerfile | 2 +- docker/hhvm-apache/ubuntu-14.04/Dockerfile | 2 +- docker/hhvm-apache/ubuntu-16.04/Dockerfile | 2 +- docker/hhvm-nginx/ubuntu-14.04/Dockerfile | 2 +- docker/hhvm-nginx/ubuntu-16.04/Dockerfile | 2 +- docker/hhvm/ubuntu-14.04/Dockerfile | 2 +- docker/hhvm/ubuntu-16.04/Dockerfile | 2 +- docker/liquibase/latest/Dockerfile | 2 +- docker/liquibase/mysql/Dockerfile | 2 +- docker/liquibase/postgres/Dockerfile | 2 +- docker/mail-sandbox/latest/Dockerfile | 2 +- docker/nginx-dev/alpine-3/Dockerfile | 2 +- docker/nginx-dev/centos-7/Dockerfile | 2 +- docker/nginx-dev/debian-7/Dockerfile | 2 +- docker/nginx-dev/debian-8/Dockerfile | 2 +- docker/nginx-dev/debian-9/Dockerfile | 2 +- docker/nginx-dev/ubuntu-12.04/Dockerfile | 2 +- docker/nginx-dev/ubuntu-14.04/Dockerfile | 2 +- docker/nginx-dev/ubuntu-15.04/Dockerfile | 2 +- docker/nginx-dev/ubuntu-15.10/Dockerfile | 2 +- docker/nginx-dev/ubuntu-16.04/Dockerfile | 2 +- docker/nginx/alpine-3/Dockerfile | 2 +- docker/nginx/centos-7/Dockerfile | 2 +- docker/nginx/debian-7/Dockerfile | 2 +- docker/nginx/debian-8/Dockerfile | 2 +- docker/nginx/debian-9/Dockerfile | 2 +- docker/nginx/ubuntu-12.04/Dockerfile | 2 +- docker/nginx/ubuntu-14.04/Dockerfile | 2 +- docker/nginx/ubuntu-15.04/Dockerfile | 2 +- docker/nginx/ubuntu-15.10/Dockerfile | 2 +- docker/nginx/ubuntu-16.04/Dockerfile | 2 +- docker/php-apache-dev/alpine-3-php7/Dockerfile | 2 +- docker/php-apache-dev/alpine-3/Dockerfile | 2 +- docker/php-apache-dev/centos-7-php56/Dockerfile | 2 +- docker/php-apache-dev/centos-7/Dockerfile | 2 +- docker/php-apache-dev/debian-7/Dockerfile | 2 +- docker/php-apache-dev/debian-8-php7/Dockerfile | 2 +- docker/php-apache-dev/debian-8/Dockerfile | 2 +- docker/php-apache-dev/debian-9/Dockerfile | 2 +- docker/php-apache-dev/ubuntu-12.04/Dockerfile | 2 +- docker/php-apache-dev/ubuntu-14.04/Dockerfile | 2 +- docker/php-apache-dev/ubuntu-15.04/Dockerfile | 2 +- docker/php-apache-dev/ubuntu-15.10/Dockerfile | 2 +- docker/php-apache-dev/ubuntu-16.04/Dockerfile | 2 +- docker/php-apache/alpine-3-php7/Dockerfile | 2 +- docker/php-apache/alpine-3/Dockerfile | 2 +- docker/php-apache/centos-7-php56/Dockerfile | 2 +- docker/php-apache/centos-7/Dockerfile | 2 +- docker/php-apache/debian-7/Dockerfile | 2 +- docker/php-apache/debian-8-php7/Dockerfile | 2 +- docker/php-apache/debian-8/Dockerfile | 2 +- docker/php-apache/debian-9/Dockerfile | 2 +- docker/php-apache/ubuntu-12.04/Dockerfile | 2 +- docker/php-apache/ubuntu-14.04/Dockerfile | 2 +- docker/php-apache/ubuntu-15.04/Dockerfile | 2 +- docker/php-apache/ubuntu-15.10/Dockerfile | 2 +- docker/php-apache/ubuntu-16.04/Dockerfile | 2 +- docker/php-dev/alpine-3-php7/Dockerfile | 2 +- docker/php-dev/alpine-3/Dockerfile | 2 +- docker/php-dev/centos-7-php56/Dockerfile | 2 +- docker/php-dev/centos-7/Dockerfile | 2 +- docker/php-dev/debian-7/Dockerfile | 2 +- docker/php-dev/debian-8-php7/Dockerfile | 2 +- docker/php-dev/debian-8/Dockerfile | 2 +- docker/php-dev/debian-9/Dockerfile | 2 +- docker/php-dev/ubuntu-12.04/Dockerfile | 2 +- docker/php-dev/ubuntu-14.04/Dockerfile | 2 +- docker/php-dev/ubuntu-15.04/Dockerfile | 2 +- docker/php-dev/ubuntu-15.10/Dockerfile | 2 +- docker/php-dev/ubuntu-16.04/Dockerfile | 2 +- docker/php-nginx-dev/alpine-3-php7/Dockerfile | 2 +- docker/php-nginx-dev/alpine-3/Dockerfile | 2 +- docker/php-nginx-dev/centos-7-php56/Dockerfile | 2 +- docker/php-nginx-dev/centos-7/Dockerfile | 2 +- docker/php-nginx-dev/debian-7/Dockerfile | 2 +- docker/php-nginx-dev/debian-8-php7/Dockerfile | 2 +- docker/php-nginx-dev/debian-8/Dockerfile | 2 +- docker/php-nginx-dev/debian-9/Dockerfile | 2 +- docker/php-nginx-dev/ubuntu-12.04/Dockerfile | 2 +- docker/php-nginx-dev/ubuntu-14.04/Dockerfile | 2 +- docker/php-nginx-dev/ubuntu-15.04/Dockerfile | 2 +- docker/php-nginx-dev/ubuntu-15.10/Dockerfile | 2 +- docker/php-nginx-dev/ubuntu-16.04/Dockerfile | 2 +- docker/php-nginx/alpine-3-php7/Dockerfile | 2 +- docker/php-nginx/alpine-3/Dockerfile | 2 +- docker/php-nginx/centos-7-php56/Dockerfile | 2 +- docker/php-nginx/centos-7/Dockerfile | 2 +- docker/php-nginx/debian-7/Dockerfile | 2 +- docker/php-nginx/debian-8-php7/Dockerfile | 2 +- docker/php-nginx/debian-8/Dockerfile | 2 +- docker/php-nginx/debian-9/Dockerfile | 2 +- docker/php-nginx/ubuntu-12.04/Dockerfile | 2 +- docker/php-nginx/ubuntu-14.04/Dockerfile | 2 +- docker/php-nginx/ubuntu-15.04/Dockerfile | 2 +- docker/php-nginx/ubuntu-15.10/Dockerfile | 2 +- docker/php-nginx/ubuntu-16.04/Dockerfile | 2 +- docker/php/alpine-3-php7/Dockerfile | 2 +- docker/php/alpine-3/Dockerfile | 2 +- docker/php/centos-7-php56/Dockerfile | 2 +- docker/php/centos-7/Dockerfile | 2 +- docker/php/debian-7/Dockerfile | 2 +- docker/php/debian-8-php7/Dockerfile | 2 +- docker/php/debian-8/Dockerfile | 2 +- docker/php/debian-9/Dockerfile | 2 +- docker/php/ubuntu-12.04/Dockerfile | 2 +- docker/php/ubuntu-14.04/Dockerfile | 2 +- docker/php/ubuntu-15.04/Dockerfile | 2 +- docker/php/ubuntu-15.10/Dockerfile | 2 +- docker/php/ubuntu-16.04/Dockerfile | 2 +- docker/piwik/ubuntu-14.04/Dockerfile | 2 +- docker/postfix/latest/Dockerfile | 2 +- docker/samson-deployment/latest/Dockerfile | 2 +- docker/sphinx/latest/Dockerfile | 2 +- docker/ssh/latest/Dockerfile | 2 +- docker/storage/latest/Dockerfile | 2 +- docker/typo3/ubuntu-14.04/Dockerfile | 2 +- docker/varnish/latest/Dockerfile | 2 +- docker/vsftp/latest/Dockerfile | 2 +- template/Dockerfile/docker.jinja2 | 2 +- 180 files changed, 187 insertions(+), 179 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 27d8cea23..324414960 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,14 @@ All notable changes to this project will be documented in this file. This project adheres to [WebDevOps.io Dockerfile](https://github.com/webdevops/Dockerfile). +## [1.3.0] - 2017-01-26 +- Enabled `docker --user` support +- Added `service check` for checking if a service is running +- Added test to check if the services are staying up (see `service check`) +- Implemented rspec-retry +- Disabeld php-fpm access logging for production images (default; high log load) +- Introduced /entrypoit.d (symlink) + ## [1.2.4] - 2017-01-20 - Enable sshd for php-dev images - Set root and application password of php-dev images to "dev" diff --git a/docker/ansible/alpine-3/Dockerfile b/docker/ansible/alpine-3/Dockerfile index 5d07f9d19..f5bf776ab 100644 --- a/docker/ansible/alpine-3/Dockerfile +++ b/docker/ansible/alpine-3/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/centos-7/Dockerfile b/docker/ansible/centos-7/Dockerfile index 2da5247ae..e3e27cd1c 100644 --- a/docker/ansible/centos-7/Dockerfile +++ b/docker/ansible/centos-7/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/debian-7/Dockerfile b/docker/ansible/debian-7/Dockerfile index 4afae943b..b9ce49ba1 100644 --- a/docker/ansible/debian-7/Dockerfile +++ b/docker/ansible/debian-7/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/debian-8/Dockerfile b/docker/ansible/debian-8/Dockerfile index 5c1189d4f..981b232f1 100644 --- a/docker/ansible/debian-8/Dockerfile +++ b/docker/ansible/debian-8/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/debian-9/Dockerfile b/docker/ansible/debian-9/Dockerfile index 309a13270..2691cd24e 100644 --- a/docker/ansible/debian-9/Dockerfile +++ b/docker/ansible/debian-9/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/ubuntu-12.04/Dockerfile b/docker/ansible/ubuntu-12.04/Dockerfile index 551ce20e7..2b4b405b8 100644 --- a/docker/ansible/ubuntu-12.04/Dockerfile +++ b/docker/ansible/ubuntu-12.04/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/ubuntu-14.04/Dockerfile b/docker/ansible/ubuntu-14.04/Dockerfile index 8730ad554..421e03edd 100644 --- a/docker/ansible/ubuntu-14.04/Dockerfile +++ b/docker/ansible/ubuntu-14.04/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/ubuntu-15.04/Dockerfile b/docker/ansible/ubuntu-15.04/Dockerfile index 510420de0..4598d2ae8 100644 --- a/docker/ansible/ubuntu-15.04/Dockerfile +++ b/docker/ansible/ubuntu-15.04/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/ubuntu-15.10/Dockerfile b/docker/ansible/ubuntu-15.10/Dockerfile index 389083991..0da6add54 100644 --- a/docker/ansible/ubuntu-15.10/Dockerfile +++ b/docker/ansible/ubuntu-15.10/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/ansible/ubuntu-16.04/Dockerfile b/docker/ansible/ubuntu-16.04/Dockerfile index 59c1efdc5..d47150717 100644 --- a/docker/ansible/ubuntu-16.04/Dockerfile +++ b/docker/ansible/ubuntu-16.04/Dockerfile @@ -8,4 +8,4 @@ FROM webdevops/bootstrap:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 diff --git a/docker/apache-dev/alpine-3/Dockerfile b/docker/apache-dev/alpine-3/Dockerfile index b03c5bc48..44f49c053 100644 --- a/docker/apache-dev/alpine-3/Dockerfile +++ b/docker/apache-dev/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/centos-7/Dockerfile b/docker/apache-dev/centos-7/Dockerfile index c96b91e8c..4c3c1bf3f 100644 --- a/docker/apache-dev/centos-7/Dockerfile +++ b/docker/apache-dev/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/debian-7/Dockerfile b/docker/apache-dev/debian-7/Dockerfile index 363d45ff7..2f213f43e 100644 --- a/docker/apache-dev/debian-7/Dockerfile +++ b/docker/apache-dev/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/debian-8/Dockerfile b/docker/apache-dev/debian-8/Dockerfile index 4cd34252b..50e2c1fe5 100644 --- a/docker/apache-dev/debian-8/Dockerfile +++ b/docker/apache-dev/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/debian-9/Dockerfile b/docker/apache-dev/debian-9/Dockerfile index c2ed8391f..672946d15 100644 --- a/docker/apache-dev/debian-9/Dockerfile +++ b/docker/apache-dev/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/ubuntu-12.04/Dockerfile b/docker/apache-dev/ubuntu-12.04/Dockerfile index 9adb00a72..9a3854b9b 100644 --- a/docker/apache-dev/ubuntu-12.04/Dockerfile +++ b/docker/apache-dev/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/ubuntu-14.04/Dockerfile b/docker/apache-dev/ubuntu-14.04/Dockerfile index 71c1285f2..d572b7e53 100644 --- a/docker/apache-dev/ubuntu-14.04/Dockerfile +++ b/docker/apache-dev/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/ubuntu-15.04/Dockerfile b/docker/apache-dev/ubuntu-15.04/Dockerfile index f1f3e1225..859d49ea8 100644 --- a/docker/apache-dev/ubuntu-15.04/Dockerfile +++ b/docker/apache-dev/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/ubuntu-15.10/Dockerfile b/docker/apache-dev/ubuntu-15.10/Dockerfile index 0f999c03a..a98d91d93 100644 --- a/docker/apache-dev/ubuntu-15.10/Dockerfile +++ b/docker/apache-dev/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache-dev/ubuntu-16.04/Dockerfile b/docker/apache-dev/ubuntu-16.04/Dockerfile index 8e8bb3241..e0accdfe9 100644 --- a/docker/apache-dev/ubuntu-16.04/Dockerfile +++ b/docker/apache-dev/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/apache:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/alpine-3/Dockerfile b/docker/apache/alpine-3/Dockerfile index 83c9600df..4a30701d2 100644 --- a/docker/apache/alpine-3/Dockerfile +++ b/docker/apache/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/centos-7/Dockerfile b/docker/apache/centos-7/Dockerfile index 541d75308..8f6a33f1c 100644 --- a/docker/apache/centos-7/Dockerfile +++ b/docker/apache/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/debian-7/Dockerfile b/docker/apache/debian-7/Dockerfile index 757671162..eaf977b46 100644 --- a/docker/apache/debian-7/Dockerfile +++ b/docker/apache/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/debian-8/Dockerfile b/docker/apache/debian-8/Dockerfile index 76f2d9a36..d98460fc5 100644 --- a/docker/apache/debian-8/Dockerfile +++ b/docker/apache/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/debian-9/Dockerfile b/docker/apache/debian-9/Dockerfile index 48981f0aa..b684abae2 100644 --- a/docker/apache/debian-9/Dockerfile +++ b/docker/apache/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/ubuntu-12.04/Dockerfile b/docker/apache/ubuntu-12.04/Dockerfile index 6517a5a9c..bf7ce1100 100644 --- a/docker/apache/ubuntu-12.04/Dockerfile +++ b/docker/apache/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/ubuntu-14.04/Dockerfile b/docker/apache/ubuntu-14.04/Dockerfile index cd47abc78..fd87479d0 100644 --- a/docker/apache/ubuntu-14.04/Dockerfile +++ b/docker/apache/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/ubuntu-15.04/Dockerfile b/docker/apache/ubuntu-15.04/Dockerfile index c57508b18..769196545 100644 --- a/docker/apache/ubuntu-15.04/Dockerfile +++ b/docker/apache/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/ubuntu-15.10/Dockerfile b/docker/apache/ubuntu-15.10/Dockerfile index a7784a7a7..b3b7a2677 100644 --- a/docker/apache/ubuntu-15.10/Dockerfile +++ b/docker/apache/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/apache/ubuntu-16.04/Dockerfile b/docker/apache/ubuntu-16.04/Dockerfile index 6625f046c..f2365f5c4 100644 --- a/docker/apache/ubuntu-16.04/Dockerfile +++ b/docker/apache/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/base-app/alpine-3/Dockerfile b/docker/base-app/alpine-3/Dockerfile index 21b21240f..326242f0e 100644 --- a/docker/base-app/alpine-3/Dockerfile +++ b/docker/base-app/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/centos-7/Dockerfile b/docker/base-app/centos-7/Dockerfile index ee9e7f625..4c9b1972e 100644 --- a/docker/base-app/centos-7/Dockerfile +++ b/docker/base-app/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/debian-7/Dockerfile b/docker/base-app/debian-7/Dockerfile index b680bdf68..35df3b117 100644 --- a/docker/base-app/debian-7/Dockerfile +++ b/docker/base-app/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/debian-8/Dockerfile b/docker/base-app/debian-8/Dockerfile index b9d3c1c04..866b94c76 100644 --- a/docker/base-app/debian-8/Dockerfile +++ b/docker/base-app/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/debian-9/Dockerfile b/docker/base-app/debian-9/Dockerfile index bcda2b732..117a26b07 100644 --- a/docker/base-app/debian-9/Dockerfile +++ b/docker/base-app/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/ubuntu-12.04/Dockerfile b/docker/base-app/ubuntu-12.04/Dockerfile index 993fe4210..e4d8c1cea 100644 --- a/docker/base-app/ubuntu-12.04/Dockerfile +++ b/docker/base-app/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/ubuntu-14.04/Dockerfile b/docker/base-app/ubuntu-14.04/Dockerfile index e2860f6ba..9451ee409 100644 --- a/docker/base-app/ubuntu-14.04/Dockerfile +++ b/docker/base-app/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/ubuntu-15.04/Dockerfile b/docker/base-app/ubuntu-15.04/Dockerfile index a4433dee5..a05a806ef 100644 --- a/docker/base-app/ubuntu-15.04/Dockerfile +++ b/docker/base-app/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/ubuntu-15.10/Dockerfile b/docker/base-app/ubuntu-15.10/Dockerfile index ae55ff5e0..50d61ef66 100644 --- a/docker/base-app/ubuntu-15.10/Dockerfile +++ b/docker/base-app/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base-app/ubuntu-16.04/Dockerfile b/docker/base-app/ubuntu-16.04/Dockerfile index 7ab655be5..850823164 100644 --- a/docker/base-app/ubuntu-16.04/Dockerfile +++ b/docker/base-app/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV APPLICATION_USER application ENV APPLICATION_GROUP application diff --git a/docker/base/alpine-3/Dockerfile b/docker/base/alpine-3/Dockerfile index dd57b5728..7c9d436c8 100644 --- a/docker/base/alpine-3/Dockerfile +++ b/docker/base/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/centos-7/Dockerfile b/docker/base/centos-7/Dockerfile index b8b88d25e..7ee9e9018 100644 --- a/docker/base/centos-7/Dockerfile +++ b/docker/base/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/debian-7/Dockerfile b/docker/base/debian-7/Dockerfile index 4d97946e0..0d4bc2a82 100644 --- a/docker/base/debian-7/Dockerfile +++ b/docker/base/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/debian-8/Dockerfile b/docker/base/debian-8/Dockerfile index e63534069..72ce23f95 100644 --- a/docker/base/debian-8/Dockerfile +++ b/docker/base/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/debian-9/Dockerfile b/docker/base/debian-9/Dockerfile index 8addeaf61..deff64dea 100644 --- a/docker/base/debian-9/Dockerfile +++ b/docker/base/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/ubuntu-12.04/Dockerfile b/docker/base/ubuntu-12.04/Dockerfile index 8ecfd2320..6261346f1 100644 --- a/docker/base/ubuntu-12.04/Dockerfile +++ b/docker/base/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/ubuntu-14.04/Dockerfile b/docker/base/ubuntu-14.04/Dockerfile index 3f420d17b..f3508ed55 100644 --- a/docker/base/ubuntu-14.04/Dockerfile +++ b/docker/base/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/ubuntu-15.04/Dockerfile b/docker/base/ubuntu-15.04/Dockerfile index c27a9e708..51914a974 100644 --- a/docker/base/ubuntu-15.04/Dockerfile +++ b/docker/base/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/ubuntu-15.10/Dockerfile b/docker/base/ubuntu-15.10/Dockerfile index a24be351d..f0448f8b6 100644 --- a/docker/base/ubuntu-15.10/Dockerfile +++ b/docker/base/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/base/ubuntu-16.04/Dockerfile b/docker/base/ubuntu-16.04/Dockerfile index bfab19c43..6113fe4e4 100644 --- a/docker/base/ubuntu-16.04/Dockerfile +++ b/docker/base/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV DOCKER_CONF_HOME /opt/docker/ diff --git a/docker/bootstrap/alpine-3/Dockerfile b/docker/bootstrap/alpine-3/Dockerfile index ab2ef2e4a..bef9a5eea 100644 --- a/docker/bootstrap/alpine-3/Dockerfile +++ b/docker/bootstrap/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM alpine:3.5 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/centos-7/Dockerfile b/docker/bootstrap/centos-7/Dockerfile index 748a8ed2a..599b048af 100644 --- a/docker/bootstrap/centos-7/Dockerfile +++ b/docker/bootstrap/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM centos:7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/debian-7/Dockerfile b/docker/bootstrap/debian-7/Dockerfile index 976a6678b..b7edc9705 100644 --- a/docker/bootstrap/debian-7/Dockerfile +++ b/docker/bootstrap/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM debian:7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/debian-8/Dockerfile b/docker/bootstrap/debian-8/Dockerfile index a400b08d4..d1b66e3ac 100644 --- a/docker/bootstrap/debian-8/Dockerfile +++ b/docker/bootstrap/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM debian:8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/debian-9/Dockerfile b/docker/bootstrap/debian-9/Dockerfile index 7736b5673..bcde42b1f 100644 --- a/docker/bootstrap/debian-9/Dockerfile +++ b/docker/bootstrap/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM debian:stretch MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/ubuntu-12.04/Dockerfile b/docker/bootstrap/ubuntu-12.04/Dockerfile index 16d9beaf6..5ec037f23 100644 --- a/docker/bootstrap/ubuntu-12.04/Dockerfile +++ b/docker/bootstrap/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM ubuntu:12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/ubuntu-14.04/Dockerfile b/docker/bootstrap/ubuntu-14.04/Dockerfile index 3ada6a47e..d8c7de936 100644 --- a/docker/bootstrap/ubuntu-14.04/Dockerfile +++ b/docker/bootstrap/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM ubuntu:14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/ubuntu-15.04/Dockerfile b/docker/bootstrap/ubuntu-15.04/Dockerfile index 47498cbcc..ba7de3802 100644 --- a/docker/bootstrap/ubuntu-15.04/Dockerfile +++ b/docker/bootstrap/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM ubuntu:15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/ubuntu-15.10/Dockerfile b/docker/bootstrap/ubuntu-15.10/Dockerfile index 9e65c98bf..a8e089b2c 100644 --- a/docker/bootstrap/ubuntu-15.10/Dockerfile +++ b/docker/bootstrap/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM ubuntu:15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/bootstrap/ubuntu-16.04/Dockerfile b/docker/bootstrap/ubuntu-16.04/Dockerfile index 40192ace2..fe8587edf 100644 --- a/docker/bootstrap/ubuntu-16.04/Dockerfile +++ b/docker/bootstrap/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM ubuntu:16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 # Ensure UTF-8 ENV LANG en_US.UTF-8 diff --git a/docker/certbot/latest/Dockerfile b/docker/certbot/latest/Dockerfile index 3c1e770c2..7d4dbe01b 100644 --- a/docker/certbot/latest/Dockerfile +++ b/docker/certbot/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 VOLUME /etc/letsencrypt VOLUME /var/www diff --git a/docker/hhvm-apache/ubuntu-14.04/Dockerfile b/docker/hhvm-apache/ubuntu-14.04/Dockerfile index d10f92855..68bb44ac2 100644 --- a/docker/hhvm-apache/ubuntu-14.04/Dockerfile +++ b/docker/hhvm-apache/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/hhvm:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/hhvm-apache/ubuntu-16.04/Dockerfile b/docker/hhvm-apache/ubuntu-16.04/Dockerfile index 892a49b33..23e5a2b29 100644 --- a/docker/hhvm-apache/ubuntu-16.04/Dockerfile +++ b/docker/hhvm-apache/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/hhvm:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/hhvm-nginx/ubuntu-14.04/Dockerfile b/docker/hhvm-nginx/ubuntu-14.04/Dockerfile index 236c3da4b..7491bbab9 100644 --- a/docker/hhvm-nginx/ubuntu-14.04/Dockerfile +++ b/docker/hhvm-nginx/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/hhvm:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/hhvm-nginx/ubuntu-16.04/Dockerfile b/docker/hhvm-nginx/ubuntu-16.04/Dockerfile index d7b72ec37..3b5c9f699 100644 --- a/docker/hhvm-nginx/ubuntu-16.04/Dockerfile +++ b/docker/hhvm-nginx/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/hhvm:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/hhvm/ubuntu-14.04/Dockerfile b/docker/hhvm/ubuntu-14.04/Dockerfile index 8a29d7171..54f2f62fc 100644 --- a/docker/hhvm/ubuntu-14.04/Dockerfile +++ b/docker/hhvm/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/hhvm/ubuntu-16.04/Dockerfile b/docker/hhvm/ubuntu-16.04/Dockerfile index ff7d318eb..897a0d544 100644 --- a/docker/hhvm/ubuntu-16.04/Dockerfile +++ b/docker/hhvm/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/liquibase/latest/Dockerfile b/docker/liquibase/latest/Dockerfile index 5beb0e867..bdd6a388b 100644 --- a/docker/liquibase/latest/Dockerfile +++ b/docker/liquibase/latest/Dockerfile @@ -8,7 +8,7 @@ FROM java:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV LIQUIBASE_VERSION "3.5.3" ENV LIQUIBASE_DRIVER "com.mysql.jdbc.Driver" diff --git a/docker/liquibase/mysql/Dockerfile b/docker/liquibase/mysql/Dockerfile index 4abc1dcc3..eea95227a 100644 --- a/docker/liquibase/mysql/Dockerfile +++ b/docker/liquibase/mysql/Dockerfile @@ -8,7 +8,7 @@ FROM java:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV LIQUIBASE_VERSION "3.5.3" ENV LIQUIBASE_DRIVER "com.mysql.jdbc.Driver" diff --git a/docker/liquibase/postgres/Dockerfile b/docker/liquibase/postgres/Dockerfile index 5cf03fe5c..d3d8cb6d6 100644 --- a/docker/liquibase/postgres/Dockerfile +++ b/docker/liquibase/postgres/Dockerfile @@ -8,7 +8,7 @@ FROM java:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV LIQUIBASE_VERSION "3.5.3" ENV LIQUIBASE_DRIVER "org.postgresql.Driver" diff --git a/docker/mail-sandbox/latest/Dockerfile b/docker/mail-sandbox/latest/Dockerfile index a266b4773..26cfebd16 100644 --- a/docker/mail-sandbox/latest/Dockerfile +++ b/docker/mail-sandbox/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-nginx:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV MAILBOX_USERNAME "dev" ENV MAILBOX_PASSWORD "dev" diff --git a/docker/nginx-dev/alpine-3/Dockerfile b/docker/nginx-dev/alpine-3/Dockerfile index 53d270a92..9ed23cec9 100644 --- a/docker/nginx-dev/alpine-3/Dockerfile +++ b/docker/nginx-dev/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/centos-7/Dockerfile b/docker/nginx-dev/centos-7/Dockerfile index 25df11dc3..3b144ac70 100644 --- a/docker/nginx-dev/centos-7/Dockerfile +++ b/docker/nginx-dev/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/debian-7/Dockerfile b/docker/nginx-dev/debian-7/Dockerfile index 460ae19b6..a6e871732 100644 --- a/docker/nginx-dev/debian-7/Dockerfile +++ b/docker/nginx-dev/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/debian-8/Dockerfile b/docker/nginx-dev/debian-8/Dockerfile index a2b31fcfb..f7e51d4e9 100644 --- a/docker/nginx-dev/debian-8/Dockerfile +++ b/docker/nginx-dev/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/debian-9/Dockerfile b/docker/nginx-dev/debian-9/Dockerfile index eba08089b..d826cc47f 100644 --- a/docker/nginx-dev/debian-9/Dockerfile +++ b/docker/nginx-dev/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/ubuntu-12.04/Dockerfile b/docker/nginx-dev/ubuntu-12.04/Dockerfile index c2889e3b7..7eefdb5b4 100644 --- a/docker/nginx-dev/ubuntu-12.04/Dockerfile +++ b/docker/nginx-dev/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/ubuntu-14.04/Dockerfile b/docker/nginx-dev/ubuntu-14.04/Dockerfile index 1baa00d8d..66441e36a 100644 --- a/docker/nginx-dev/ubuntu-14.04/Dockerfile +++ b/docker/nginx-dev/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/ubuntu-15.04/Dockerfile b/docker/nginx-dev/ubuntu-15.04/Dockerfile index ec0973fde..987070fc9 100644 --- a/docker/nginx-dev/ubuntu-15.04/Dockerfile +++ b/docker/nginx-dev/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/ubuntu-15.10/Dockerfile b/docker/nginx-dev/ubuntu-15.10/Dockerfile index 95225a45a..8b323748d 100644 --- a/docker/nginx-dev/ubuntu-15.10/Dockerfile +++ b/docker/nginx-dev/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx-dev/ubuntu-16.04/Dockerfile b/docker/nginx-dev/ubuntu-16.04/Dockerfile index 52dfdb406..17ebaccf5 100644 --- a/docker/nginx-dev/ubuntu-16.04/Dockerfile +++ b/docker/nginx-dev/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/nginx:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/alpine-3/Dockerfile b/docker/nginx/alpine-3/Dockerfile index 2731b4f7a..07426aca2 100644 --- a/docker/nginx/alpine-3/Dockerfile +++ b/docker/nginx/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/centos-7/Dockerfile b/docker/nginx/centos-7/Dockerfile index d9286cc5f..1f3f603f5 100644 --- a/docker/nginx/centos-7/Dockerfile +++ b/docker/nginx/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/debian-7/Dockerfile b/docker/nginx/debian-7/Dockerfile index 00b1fff4d..d5c091c62 100644 --- a/docker/nginx/debian-7/Dockerfile +++ b/docker/nginx/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/debian-8/Dockerfile b/docker/nginx/debian-8/Dockerfile index 93bf27ae3..532351dc7 100644 --- a/docker/nginx/debian-8/Dockerfile +++ b/docker/nginx/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/debian-9/Dockerfile b/docker/nginx/debian-9/Dockerfile index deb75b91a..6472e0b8f 100644 --- a/docker/nginx/debian-9/Dockerfile +++ b/docker/nginx/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/ubuntu-12.04/Dockerfile b/docker/nginx/ubuntu-12.04/Dockerfile index 4487c538a..d0ab35764 100644 --- a/docker/nginx/ubuntu-12.04/Dockerfile +++ b/docker/nginx/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/ubuntu-14.04/Dockerfile b/docker/nginx/ubuntu-14.04/Dockerfile index ea7c12423..69ed8bbfd 100644 --- a/docker/nginx/ubuntu-14.04/Dockerfile +++ b/docker/nginx/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/ubuntu-15.04/Dockerfile b/docker/nginx/ubuntu-15.04/Dockerfile index 587a67980..3e2657bcd 100644 --- a/docker/nginx/ubuntu-15.04/Dockerfile +++ b/docker/nginx/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/ubuntu-15.10/Dockerfile b/docker/nginx/ubuntu-15.10/Dockerfile index fb663d665..ef18f5e73 100644 --- a/docker/nginx/ubuntu-15.10/Dockerfile +++ b/docker/nginx/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/nginx/ubuntu-16.04/Dockerfile b/docker/nginx/ubuntu-16.04/Dockerfile index 712237f74..cfdd70526 100644 --- a/docker/nginx/ubuntu-16.04/Dockerfile +++ b/docker/nginx/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/alpine-3-php7/Dockerfile b/docker/php-apache-dev/alpine-3-php7/Dockerfile index b1dbf7fec..e20cf24e1 100644 --- a/docker/php-apache-dev/alpine-3-php7/Dockerfile +++ b/docker/php-apache-dev/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:alpine-3-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/alpine-3/Dockerfile b/docker/php-apache-dev/alpine-3/Dockerfile index a490b8eb2..52db8c217 100644 --- a/docker/php-apache-dev/alpine-3/Dockerfile +++ b/docker/php-apache-dev/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/centos-7-php56/Dockerfile b/docker/php-apache-dev/centos-7-php56/Dockerfile index 40e294592..695c9a1aa 100644 --- a/docker/php-apache-dev/centos-7-php56/Dockerfile +++ b/docker/php-apache-dev/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:centos-7-php56 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/centos-7/Dockerfile b/docker/php-apache-dev/centos-7/Dockerfile index 7bf9b9f3c..445b4f292 100644 --- a/docker/php-apache-dev/centos-7/Dockerfile +++ b/docker/php-apache-dev/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/debian-7/Dockerfile b/docker/php-apache-dev/debian-7/Dockerfile index 53da42b94..026a8eb3f 100644 --- a/docker/php-apache-dev/debian-7/Dockerfile +++ b/docker/php-apache-dev/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/debian-8-php7/Dockerfile b/docker/php-apache-dev/debian-8-php7/Dockerfile index 4f7508356..49853f199 100644 --- a/docker/php-apache-dev/debian-8-php7/Dockerfile +++ b/docker/php-apache-dev/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-8-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/debian-8/Dockerfile b/docker/php-apache-dev/debian-8/Dockerfile index 6bae1ebfb..9013d4ed9 100644 --- a/docker/php-apache-dev/debian-8/Dockerfile +++ b/docker/php-apache-dev/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/debian-9/Dockerfile b/docker/php-apache-dev/debian-9/Dockerfile index 64bf46e98..fd780cc78 100644 --- a/docker/php-apache-dev/debian-9/Dockerfile +++ b/docker/php-apache-dev/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/ubuntu-12.04/Dockerfile b/docker/php-apache-dev/ubuntu-12.04/Dockerfile index 176333546..2e74c9bfa 100644 --- a/docker/php-apache-dev/ubuntu-12.04/Dockerfile +++ b/docker/php-apache-dev/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/ubuntu-14.04/Dockerfile b/docker/php-apache-dev/ubuntu-14.04/Dockerfile index f8f0d0364..b6e73dc49 100644 --- a/docker/php-apache-dev/ubuntu-14.04/Dockerfile +++ b/docker/php-apache-dev/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/ubuntu-15.04/Dockerfile b/docker/php-apache-dev/ubuntu-15.04/Dockerfile index 3a114ccf9..a1dd13661 100644 --- a/docker/php-apache-dev/ubuntu-15.04/Dockerfile +++ b/docker/php-apache-dev/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/ubuntu-15.10/Dockerfile b/docker/php-apache-dev/ubuntu-15.10/Dockerfile index ffd782d60..57cb07c77 100644 --- a/docker/php-apache-dev/ubuntu-15.10/Dockerfile +++ b/docker/php-apache-dev/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache-dev/ubuntu-16.04/Dockerfile b/docker/php-apache-dev/ubuntu-16.04/Dockerfile index bbebda939..e2e68e517 100644 --- a/docker/php-apache-dev/ubuntu-16.04/Dockerfile +++ b/docker/php-apache-dev/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/alpine-3-php7/Dockerfile b/docker/php-apache/alpine-3-php7/Dockerfile index e52773120..e064055d0 100644 --- a/docker/php-apache/alpine-3-php7/Dockerfile +++ b/docker/php-apache/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/alpine-3/Dockerfile b/docker/php-apache/alpine-3/Dockerfile index 2f01a4751..5ad416ee2 100644 --- a/docker/php-apache/alpine-3/Dockerfile +++ b/docker/php-apache/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/centos-7-php56/Dockerfile b/docker/php-apache/centos-7-php56/Dockerfile index 0e265bd23..d1850c614 100644 --- a/docker/php-apache/centos-7-php56/Dockerfile +++ b/docker/php-apache/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7-php56 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/centos-7/Dockerfile b/docker/php-apache/centos-7/Dockerfile index 9496871ac..3bc6c3952 100644 --- a/docker/php-apache/centos-7/Dockerfile +++ b/docker/php-apache/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/debian-7/Dockerfile b/docker/php-apache/debian-7/Dockerfile index 14eba71dc..a3deb54b3 100644 --- a/docker/php-apache/debian-7/Dockerfile +++ b/docker/php-apache/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/debian-8-php7/Dockerfile b/docker/php-apache/debian-8-php7/Dockerfile index b584bf985..009e7ae15 100644 --- a/docker/php-apache/debian-8-php7/Dockerfile +++ b/docker/php-apache/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/debian-8/Dockerfile b/docker/php-apache/debian-8/Dockerfile index a99ebd6e8..c1381d9e3 100644 --- a/docker/php-apache/debian-8/Dockerfile +++ b/docker/php-apache/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/debian-9/Dockerfile b/docker/php-apache/debian-9/Dockerfile index ea7eb4c9e..0f13bd74e 100644 --- a/docker/php-apache/debian-9/Dockerfile +++ b/docker/php-apache/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/ubuntu-12.04/Dockerfile b/docker/php-apache/ubuntu-12.04/Dockerfile index e9229773e..c858d3364 100644 --- a/docker/php-apache/ubuntu-12.04/Dockerfile +++ b/docker/php-apache/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/ubuntu-14.04/Dockerfile b/docker/php-apache/ubuntu-14.04/Dockerfile index bb64f7eae..66f30c1eb 100644 --- a/docker/php-apache/ubuntu-14.04/Dockerfile +++ b/docker/php-apache/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/ubuntu-15.04/Dockerfile b/docker/php-apache/ubuntu-15.04/Dockerfile index 9a84e281e..58b31f50a 100644 --- a/docker/php-apache/ubuntu-15.04/Dockerfile +++ b/docker/php-apache/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/ubuntu-15.10/Dockerfile b/docker/php-apache/ubuntu-15.10/Dockerfile index 0c5e971f3..9b6f61dd0 100644 --- a/docker/php-apache/ubuntu-15.10/Dockerfile +++ b/docker/php-apache/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-apache/ubuntu-16.04/Dockerfile b/docker/php-apache/ubuntu-16.04/Dockerfile index aec677e91..b90d0fcc2 100644 --- a/docker/php-apache/ubuntu-16.04/Dockerfile +++ b/docker/php-apache/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-dev/alpine-3-php7/Dockerfile b/docker/php-dev/alpine-3-php7/Dockerfile index d5d3223f5..0198366c6 100644 --- a/docker/php-dev/alpine-3-php7/Dockerfile +++ b/docker/php-dev/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/alpine-3/Dockerfile b/docker/php-dev/alpine-3/Dockerfile index c826e5f7d..fb808f322 100644 --- a/docker/php-dev/alpine-3/Dockerfile +++ b/docker/php-dev/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/centos-7-php56/Dockerfile b/docker/php-dev/centos-7-php56/Dockerfile index 8beadb2ff..a7725bd01 100644 --- a/docker/php-dev/centos-7-php56/Dockerfile +++ b/docker/php-dev/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7-php56 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/centos-7/Dockerfile b/docker/php-dev/centos-7/Dockerfile index d6ea9fc72..e68cff722 100644 --- a/docker/php-dev/centos-7/Dockerfile +++ b/docker/php-dev/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/debian-7/Dockerfile b/docker/php-dev/debian-7/Dockerfile index 2f26b8aac..43604beb9 100644 --- a/docker/php-dev/debian-7/Dockerfile +++ b/docker/php-dev/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/debian-8-php7/Dockerfile b/docker/php-dev/debian-8-php7/Dockerfile index c026d0a03..eae7cb6ba 100644 --- a/docker/php-dev/debian-8-php7/Dockerfile +++ b/docker/php-dev/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/debian-8/Dockerfile b/docker/php-dev/debian-8/Dockerfile index 62de3697c..2884914db 100644 --- a/docker/php-dev/debian-8/Dockerfile +++ b/docker/php-dev/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/debian-9/Dockerfile b/docker/php-dev/debian-9/Dockerfile index a4a656a4d..4e710a43f 100644 --- a/docker/php-dev/debian-9/Dockerfile +++ b/docker/php-dev/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/ubuntu-12.04/Dockerfile b/docker/php-dev/ubuntu-12.04/Dockerfile index 0d99aa7b7..25c33e222 100644 --- a/docker/php-dev/ubuntu-12.04/Dockerfile +++ b/docker/php-dev/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/ubuntu-14.04/Dockerfile b/docker/php-dev/ubuntu-14.04/Dockerfile index 158ba62eb..1c926cae2 100644 --- a/docker/php-dev/ubuntu-14.04/Dockerfile +++ b/docker/php-dev/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/ubuntu-15.04/Dockerfile b/docker/php-dev/ubuntu-15.04/Dockerfile index 823082ebe..0e69a3afc 100644 --- a/docker/php-dev/ubuntu-15.04/Dockerfile +++ b/docker/php-dev/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/ubuntu-15.10/Dockerfile b/docker/php-dev/ubuntu-15.10/Dockerfile index d4a4105a6..99d9ef836 100644 --- a/docker/php-dev/ubuntu-15.10/Dockerfile +++ b/docker/php-dev/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-dev/ubuntu-16.04/Dockerfile b/docker/php-dev/ubuntu-16.04/Dockerfile index c99db9111..f26a220b9 100644 --- a/docker/php-dev/ubuntu-16.04/Dockerfile +++ b/docker/php-dev/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/php-nginx-dev/alpine-3-php7/Dockerfile b/docker/php-nginx-dev/alpine-3-php7/Dockerfile index eabefa420..97a955422 100644 --- a/docker/php-nginx-dev/alpine-3-php7/Dockerfile +++ b/docker/php-nginx-dev/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:alpine-3-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/alpine-3/Dockerfile b/docker/php-nginx-dev/alpine-3/Dockerfile index 448eba2ba..2eb044cef 100644 --- a/docker/php-nginx-dev/alpine-3/Dockerfile +++ b/docker/php-nginx-dev/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/centos-7-php56/Dockerfile b/docker/php-nginx-dev/centos-7-php56/Dockerfile index e5578b849..19b07fc2f 100644 --- a/docker/php-nginx-dev/centos-7-php56/Dockerfile +++ b/docker/php-nginx-dev/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:centos-7-php56 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/centos-7/Dockerfile b/docker/php-nginx-dev/centos-7/Dockerfile index eb71cfbc0..c5564fa1b 100644 --- a/docker/php-nginx-dev/centos-7/Dockerfile +++ b/docker/php-nginx-dev/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/debian-7/Dockerfile b/docker/php-nginx-dev/debian-7/Dockerfile index 3841a7cc4..309da09e0 100644 --- a/docker/php-nginx-dev/debian-7/Dockerfile +++ b/docker/php-nginx-dev/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/debian-8-php7/Dockerfile b/docker/php-nginx-dev/debian-8-php7/Dockerfile index ae5c69734..f1ab55f3e 100644 --- a/docker/php-nginx-dev/debian-8-php7/Dockerfile +++ b/docker/php-nginx-dev/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-8-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/debian-8/Dockerfile b/docker/php-nginx-dev/debian-8/Dockerfile index e6e6d1988..13b5d7c64 100644 --- a/docker/php-nginx-dev/debian-8/Dockerfile +++ b/docker/php-nginx-dev/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/debian-9/Dockerfile b/docker/php-nginx-dev/debian-9/Dockerfile index bc67e6630..f73789e0c 100644 --- a/docker/php-nginx-dev/debian-9/Dockerfile +++ b/docker/php-nginx-dev/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/ubuntu-12.04/Dockerfile b/docker/php-nginx-dev/ubuntu-12.04/Dockerfile index 6fce97e5b..8e669a203 100644 --- a/docker/php-nginx-dev/ubuntu-12.04/Dockerfile +++ b/docker/php-nginx-dev/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/ubuntu-14.04/Dockerfile b/docker/php-nginx-dev/ubuntu-14.04/Dockerfile index 6b6eb19a6..47eb29e96 100644 --- a/docker/php-nginx-dev/ubuntu-14.04/Dockerfile +++ b/docker/php-nginx-dev/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/ubuntu-15.04/Dockerfile b/docker/php-nginx-dev/ubuntu-15.04/Dockerfile index 7eaf0dd37..58d64f0bd 100644 --- a/docker/php-nginx-dev/ubuntu-15.04/Dockerfile +++ b/docker/php-nginx-dev/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/ubuntu-15.10/Dockerfile b/docker/php-nginx-dev/ubuntu-15.10/Dockerfile index 1ac5b531b..a9342edb7 100644 --- a/docker/php-nginx-dev/ubuntu-15.10/Dockerfile +++ b/docker/php-nginx-dev/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx-dev/ubuntu-16.04/Dockerfile b/docker/php-nginx-dev/ubuntu-16.04/Dockerfile index 01008fa8f..297daf1de 100644 --- a/docker/php-nginx-dev/ubuntu-16.04/Dockerfile +++ b/docker/php-nginx-dev/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-dev:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/alpine-3-php7/Dockerfile b/docker/php-nginx/alpine-3-php7/Dockerfile index 23f9162e4..042fad739 100644 --- a/docker/php-nginx/alpine-3-php7/Dockerfile +++ b/docker/php-nginx/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/alpine-3/Dockerfile b/docker/php-nginx/alpine-3/Dockerfile index 278d199bf..8d47a82cd 100644 --- a/docker/php-nginx/alpine-3/Dockerfile +++ b/docker/php-nginx/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/centos-7-php56/Dockerfile b/docker/php-nginx/centos-7-php56/Dockerfile index e0f41ba20..fbd4c39ce 100644 --- a/docker/php-nginx/centos-7-php56/Dockerfile +++ b/docker/php-nginx/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7-php56 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/centos-7/Dockerfile b/docker/php-nginx/centos-7/Dockerfile index f7ae0e8e4..e8f98591b 100644 --- a/docker/php-nginx/centos-7/Dockerfile +++ b/docker/php-nginx/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/debian-7/Dockerfile b/docker/php-nginx/debian-7/Dockerfile index 6c3ae8d5d..83b72bbe9 100644 --- a/docker/php-nginx/debian-7/Dockerfile +++ b/docker/php-nginx/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/debian-8-php7/Dockerfile b/docker/php-nginx/debian-8-php7/Dockerfile index 20ab74798..e00f35175 100644 --- a/docker/php-nginx/debian-8-php7/Dockerfile +++ b/docker/php-nginx/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8-php7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/debian-8/Dockerfile b/docker/php-nginx/debian-8/Dockerfile index 9b2abc120..508655021 100644 --- a/docker/php-nginx/debian-8/Dockerfile +++ b/docker/php-nginx/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/debian-9/Dockerfile b/docker/php-nginx/debian-9/Dockerfile index f4ebbab5a..d2b0636cf 100644 --- a/docker/php-nginx/debian-9/Dockerfile +++ b/docker/php-nginx/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/ubuntu-12.04/Dockerfile b/docker/php-nginx/ubuntu-12.04/Dockerfile index c0f5b9bea..163e0caf8 100644 --- a/docker/php-nginx/ubuntu-12.04/Dockerfile +++ b/docker/php-nginx/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/ubuntu-14.04/Dockerfile b/docker/php-nginx/ubuntu-14.04/Dockerfile index f5b378441..5112da09a 100644 --- a/docker/php-nginx/ubuntu-14.04/Dockerfile +++ b/docker/php-nginx/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/ubuntu-15.04/Dockerfile b/docker/php-nginx/ubuntu-15.04/Dockerfile index 227535e16..8f50f0ba7 100644 --- a/docker/php-nginx/ubuntu-15.04/Dockerfile +++ b/docker/php-nginx/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/ubuntu-15.10/Dockerfile b/docker/php-nginx/ubuntu-15.10/Dockerfile index 3c3ae5461..bc1f12edc 100644 --- a/docker/php-nginx/ubuntu-15.10/Dockerfile +++ b/docker/php-nginx/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php-nginx/ubuntu-16.04/Dockerfile b/docker/php-nginx/ubuntu-16.04/Dockerfile index e3bdfe00d..e45af369d 100644 --- a/docker/php-nginx/ubuntu-16.04/Dockerfile +++ b/docker/php-nginx/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/alpine-3-php7/Dockerfile b/docker/php/alpine-3-php7/Dockerfile index 0cf5aabbd..52aa81f6b 100644 --- a/docker/php/alpine-3-php7/Dockerfile +++ b/docker/php/alpine-3-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/alpine-3/Dockerfile b/docker/php/alpine-3/Dockerfile index e284bd7a9..e5efe63ca 100644 --- a/docker/php/alpine-3/Dockerfile +++ b/docker/php/alpine-3/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/centos-7-php56/Dockerfile b/docker/php/centos-7-php56/Dockerfile index dee9f60a0..1cef091e1 100644 --- a/docker/php/centos-7-php56/Dockerfile +++ b/docker/php/centos-7-php56/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/centos-7/Dockerfile b/docker/php/centos-7/Dockerfile index b5fc6e0bd..24032b59d 100644 --- a/docker/php/centos-7/Dockerfile +++ b/docker/php/centos-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:centos-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/debian-7/Dockerfile b/docker/php/debian-7/Dockerfile index 1ad1c8580..c41404f66 100644 --- a/docker/php/debian-7/Dockerfile +++ b/docker/php/debian-7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:debian-7 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/debian-8-php7/Dockerfile b/docker/php/debian-8-php7/Dockerfile index 92377beab..e59686cec 100644 --- a/docker/php/debian-8-php7/Dockerfile +++ b/docker/php/debian-8-php7/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/debian-8/Dockerfile b/docker/php/debian-8/Dockerfile index bfb09b717..616bc913a 100644 --- a/docker/php/debian-8/Dockerfile +++ b/docker/php/debian-8/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:debian-8 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/debian-9/Dockerfile b/docker/php/debian-9/Dockerfile index bf9aa9b3c..00cc93e43 100644 --- a/docker/php/debian-9/Dockerfile +++ b/docker/php/debian-9/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:debian-9 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/ubuntu-12.04/Dockerfile b/docker/php/ubuntu-12.04/Dockerfile index 5b40265e5..53c0d0ebf 100644 --- a/docker/php/ubuntu-12.04/Dockerfile +++ b/docker/php/ubuntu-12.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-12.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/ubuntu-14.04/Dockerfile b/docker/php/ubuntu-14.04/Dockerfile index 8fe99a8d4..99459ffaf 100644 --- a/docker/php/ubuntu-14.04/Dockerfile +++ b/docker/php/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/ubuntu-15.04/Dockerfile b/docker/php/ubuntu-15.04/Dockerfile index 98aa7a03b..cd3852f10 100644 --- a/docker/php/ubuntu-15.04/Dockerfile +++ b/docker/php/ubuntu-15.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-15.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/ubuntu-15.10/Dockerfile b/docker/php/ubuntu-15.10/Dockerfile index 7903cf5b6..35fe68852 100644 --- a/docker/php/ubuntu-15.10/Dockerfile +++ b/docker/php/ubuntu-15.10/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-15.10 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/php/ubuntu-16.04/Dockerfile b/docker/php/ubuntu-16.04/Dockerfile index 18fda9c17..3a9bc6504 100644 --- a/docker/php/ubuntu-16.04/Dockerfile +++ b/docker/php/ubuntu-16.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:ubuntu-16.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app ENV WEB_DOCUMENT_INDEX index.php diff --git a/docker/piwik/ubuntu-14.04/Dockerfile b/docker/piwik/ubuntu-14.04/Dockerfile index a1cd31f0c..8068793f4 100644 --- a/docker/piwik/ubuntu-14.04/Dockerfile +++ b/docker/piwik/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-nginx:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app/piwik/ ENV PIWIK_URL http://example.com/ diff --git a/docker/postfix/latest/Dockerfile b/docker/postfix/latest/Dockerfile index 688ddfea4..77c2909f8 100644 --- a/docker/postfix/latest/Dockerfile +++ b/docker/postfix/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 COPY conf/ /opt/docker/ diff --git a/docker/samson-deployment/latest/Dockerfile b/docker/samson-deployment/latest/Dockerfile index d4ecd3a7d..a40b00d2a 100644 --- a/docker/samson-deployment/latest/Dockerfile +++ b/docker/samson-deployment/latest/Dockerfile @@ -8,7 +8,7 @@ FROM zendesk/samson:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ############################################################################### diff --git a/docker/sphinx/latest/Dockerfile b/docker/sphinx/latest/Dockerfile index ec3161801..736f55a35 100644 --- a/docker/sphinx/latest/Dockerfile +++ b/docker/sphinx/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/bootstrap:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 RUN /usr/local/bin/apk-install \ # General sphinx diff --git a/docker/ssh/latest/Dockerfile b/docker/ssh/latest/Dockerfile index 4579a3975..5ce2208e3 100644 --- a/docker/ssh/latest/Dockerfile +++ b/docker/ssh/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base-app:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 RUN /opt/docker/bin/control.sh service.enable ssh diff --git a/docker/storage/latest/Dockerfile b/docker/storage/latest/Dockerfile index e362f1840..e63581812 100644 --- a/docker/storage/latest/Dockerfile +++ b/docker/storage/latest/Dockerfile @@ -8,7 +8,7 @@ FROM busybox:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 RUN mkdir /storage/ \ && chmod 777 /storage/ diff --git a/docker/typo3/ubuntu-14.04/Dockerfile b/docker/typo3/ubuntu-14.04/Dockerfile index a90853622..d7abc046b 100644 --- a/docker/typo3/ubuntu-14.04/Dockerfile +++ b/docker/typo3/ubuntu-14.04/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/php-apache:ubuntu-14.04 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV WEB_DOCUMENT_ROOT /app/web/ diff --git a/docker/varnish/latest/Dockerfile b/docker/varnish/latest/Dockerfile index 10c25f1af..cdc7c33a2 100644 --- a/docker/varnish/latest/Dockerfile +++ b/docker/varnish/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:alpine-3 MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV VARNISH_PORT 80 diff --git a/docker/vsftp/latest/Dockerfile b/docker/vsftp/latest/Dockerfile index 7a059a937..8d5c47122 100644 --- a/docker/vsftp/latest/Dockerfile +++ b/docker/vsftp/latest/Dockerfile @@ -8,7 +8,7 @@ FROM webdevops/base:latest MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 ENV FTP_USER application ENV FTP_PASSWORD application diff --git a/template/Dockerfile/docker.jinja2 b/template/Dockerfile/docker.jinja2 index be9b57223..7b74821f7 100644 --- a/template/Dockerfile/docker.jinja2 +++ b/template/Dockerfile/docker.jinja2 @@ -10,7 +10,7 @@ FROM {{ image }}:{{ tag }} MAINTAINER info@webdevops.io LABEL vendor=WebDevOps.io LABEL io.webdevops.layout=8 -LABEL io.webdevops.version=1.2.4 +LABEL io.webdevops.version=1.3.0 {%- endmacro %} {%- macro add(source, target) -%}