Add supervisord-dependent-startup, restructure file layout

This commit is contained in:
MrMeeb 2024-04-19 17:07:54 +00:00
parent 67df113caf
commit 8200cfeb8a
5 changed files with 56 additions and 1 deletions

View File

@ -13,13 +13,19 @@ RUN make clean && make build
FROM docker:25.0.5-dind
USER root
RUN apk add --no-cache \
git bash supervisor
git bash supervisor python3 py3-pip
RUN pip3 install --break-system-packages supervisord-dependent-startup
COPY --from=builder /opt/src/act_runner/act_runner /usr/local/bin/act_runner
COPY --from=builder /opt/src/act_runner/scripts/supervisord.conf /etc/supervisord.conf
COPY --from=builder /opt/src/act_runner/scripts/run.sh /opt/act/run.sh
COPY --from=builder /opt/src/act_runner/scripts/rootless.sh /opt/act/rootless.sh
COPY /root /
RUN chmod +x /healthcheck.sh
ENV DOCKER_PRUNE_INTERVAL="0 0 * * *"
# Add Crontab for root user

View File

@ -0,0 +1,8 @@
[program:act_runner]
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
command=/opt/act/rootless.sh
dependent_startup=true
dependent_startup_wait_for=dockerd:running
autostart=false

View File

@ -0,0 +1,5 @@
[program:cron]
command=/usr/sbin/crond -f
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true

View File

@ -0,0 +1,8 @@
[program:dockerd]
command=/usr/local/bin/dockerd-entrypoint.sh
stdout_logfile_maxbytes=0
stdout_logfile=/dev/fd/1
redirect_stderr=true
startsecs=20
dependent_startup=true
autostart=false

28
root/etc/supervisord.conf Normal file
View File

@ -0,0 +1,28 @@
[supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0
[include]
files = /etc/supervisor.d/*.conf
[unix_http_server]
file=/run/supervisord.sock
[supervisorctl]
serverurl=unix:///run/supervisord.sock
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
#[eventlistener:processes]
#command=bash -c "echo READY && read line && kill -SIGQUIT $PPID"
#events=PROCESS_STATE_STOPPED,PROCESS_STATE_EXITED,PROCESS_STATE_FATAL
[eventlistener:dependentstartup]
command=python -m supervisord_dependent_startup
autostart=true
autorestart=unexpected
startretries=0
exitcodes=0,3
events=PROCESS_STATE