Skip to content

Commit 0420235

Browse files
authored
Merge pull request #268 from devilbox/release-0.151
Allow to use supervisorctl to be able to reload PHP configuration wit…
2 parents efcd621 + b75c0eb commit 0420235

19 files changed

+87
-25
lines changed

.ansible/DOCKERFILES/Dockerfile-prod.j2

-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,6 @@ RUN set -eux \
8181
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8282
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8383
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
84-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8584

8685

8786
###

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@
44
## Unreleased
55

66

7+
## Release 0.151
8+
9+
### Added
10+
- Allow to use supervisorctl to be able to reload PHP configuration without restarting
11+
12+
713
## Release 0.150
814

915
### Added

Dockerfiles/prod/Dockerfile-5.2

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-5.3

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-5.4

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-5.5

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-5.6

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-7.0

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-7.1

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-7.2

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-7.3

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-7.4

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-8.0

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-8.1

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/Dockerfile-8.2

-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,6 @@ RUN set -eux \
7979
COPY ./data/docker-entrypoint.sh /docker-entrypoint.sh
8080
COPY ./data/docker-entrypoint.d/*.sh /docker-entrypoint.d/
8181
COPY ./data/postfix.sh /usr/local/sbin/postfix.sh
82-
COPY ./data/supervisord.conf /etc/supervisor/supervisord.conf
8382

8483

8584
###

Dockerfiles/prod/data/docker-entrypoint.d/304-supervisor.sh

+68
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,51 @@ set -o pipefail
99
# Functions
1010
############################################################
1111

12+
###
13+
### Create main supvervisord configuration file
14+
###
15+
supervisor_create_config() {
16+
local path="${1}"
17+
18+
# Enable supervisorctl (default: disabled)
19+
SVCTL_ENABLE="${SVCTL_ENABLE:-0}"
20+
if [ -z "${SVCTL_USER:-}" ]; then
21+
SVCTL_USER="$( get_random_alphanum "10" )"
22+
fi
23+
if [ -z "${SVCTL_PASS:-}" ]; then
24+
SVCTL_PASS="$( get_random_alphanum "10" )"
25+
fi
26+
27+
{
28+
# Use 'echo_supervisord_conf' to generate an example config
29+
if [ "${SVCTL_ENABLE}" = "1" ]; then
30+
echo "[rpcinterface:supervisor]"
31+
echo "supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface"
32+
echo
33+
echo "[unix_http_server]"
34+
echo "file = /tmp/supervisor.sock"
35+
echo "chmod = 0700"
36+
echo
37+
echo "[supervisorctl]"
38+
echo "serverurl = unix:///tmp/supervisor.sock"
39+
echo "username = ${SVCTL_USER} ; should be same as in [*_http_server] if set"
40+
echo "password = ${SVCTL_PASS} ; should be same as in [*_http_server] if set"
41+
fi
42+
echo "[supervisord]"
43+
echo "user = root"
44+
echo "nodaemon = true"
45+
echo "loglevel = info"
46+
echo "logfile = /var/log/supervisor/supervisord.log"
47+
echo "pidfile = /var/run/supervisord.pid"
48+
echo "childlogdir = /var/log/supervisor"
49+
echo "strip_ansi = true" # Required to fix tail logs
50+
echo
51+
echo "[include]"
52+
echo "files = /etc/supervisor/conf.d/*.conf /etc/supervisor/custom.d/*.conf"
53+
} > "${path}"
54+
}
55+
56+
1257
###
1358
### Add service to supervisord
1459
###
@@ -49,3 +94,26 @@ supervisor_add_service() {
4994
echo "stderr_events_enabled = true";
5095
} > "${confd}/${name}.conf"
5196
}
97+
98+
99+
###
100+
### Get Random alphanumeric string
101+
###
102+
get_random_alphanum() {
103+
local len="${1:-15}" # length defaults to 15
104+
tr -dc A-Za-z0-9 < /dev/urandom | head -c "${len}" | xargs || true
105+
}
106+
107+
108+
############################################################
109+
# Sanity Checks
110+
############################################################
111+
112+
if ! command -v tr >/dev/null 2>&1; then
113+
echo "tr not found, but required."
114+
exit 1
115+
fi
116+
if ! command -v xargs >/dev/null 2>&1; then
117+
echo "xargs not found, but required."
118+
exit 1
119+
fi

Dockerfiles/prod/data/docker-entrypoint.sh

+6-1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@ if ! port_forward_validate "FORWARD_PORTS_TO_LOCALHOST" "${DEBUG_LEVEL}"; then
120120
fi
121121

122122

123+
###
124+
### Supvervisor: supervisord.conf
125+
###
126+
supervisor_create_config "/etc/supervisor/supervisord.conf"
127+
128+
123129
###
124130
### Supervisor: socat
125131
###
@@ -185,7 +191,6 @@ execute_custom_scripts "/startup.1.d" "${DEBUG_LEVEL}"
185191
execute_custom_scripts "/startup.2.d" "${DEBUG_LEVEL}"
186192

187193

188-
###
189194
###
190195
### Startup
191196
###

Dockerfiles/prod/data/supervisord.conf

-9
This file was deleted.

Dockerfiles/slim/data/docker-entrypoint.sh

+7-1
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@ if ! port_forward_validate "FORWARD_PORTS_TO_LOCALHOST" "${DEBUG_LEVEL}"; then
120120
fi
121121

122122

123+
###
124+
### Supvervisor: supervisord.conf
125+
###
126+
supervisor_create_config "/etc/supervisor/supervisord.conf"
127+
128+
123129
###
124130
### Supervisor: socat
125131
###
@@ -162,7 +168,7 @@ copy_ini_files "${DVL_PHP_CUST_INI_DIR}" "${DVL_PHP_INI_DIR}" "${DEBUG_LEVEL}"
162168
if [ "${PHP_VERSION}" = "5.2" ]; then
163169
copy_fpm_5_2_conf_file "${DVL_PHP_CUST_FPM_DIR}/php-fpm.xml" "${DEBUG_LEVEL}"
164170
else
165-
copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
171+
copy_fpm_files "${DVL_PHP_CUST_FPM_DIR}" "${DVL_PHP_FPM_DIR}" "${DEBUG_LEVEL}"
166172
fi
167173

168174

0 commit comments

Comments
 (0)