Skip to content

Commit

Permalink
Generalize s6 services usage
Browse files Browse the repository at this point in the history
  • Loading branch information
hyvs authored and nervo committed Feb 17, 2024
1 parent 02b074e commit 2306ea5
Show file tree
Hide file tree
Showing 22 changed files with 93 additions and 83 deletions.
1 change: 1 addition & 0 deletions lazy.ansible/.manala.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ manala:
- .manala/github
- .manala/gitlab
- .manala/make
- .manala/services
- .manala/.dockerignore
- .manala/.gitignore
- .manala/Makefile.tmpl
Expand Down
5 changes: 5 additions & 0 deletions lazy.ansible/.manala/docker/Dockerfile.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ RUN \
# Clean
&& rm -rf /var/lib/apt/lists/*

# Services
COPY services/.s6-svscan /etc/services/enabled/.s6-svscan
COPY services/docker-bridge /etc/services/available/docker-bridge
COPY services/ssh-agent-bridge /etc/services/available/ssh-agent-bridge

##########
# System #
##########
Expand Down
38 changes: 11 additions & 27 deletions lazy.ansible/.manala/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,6 @@

set -e

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/ssh-auth-bridge.sock ;
socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock ; \
done \
" &
fi

# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/docker-bridge.sock ;
socat -t 600 \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/docker.sock ; \
done \
" &
fi

# As a consequence of running the container as root user,
# tty is not writable by sued user
if [ -t 1 ]; then
Expand All @@ -48,10 +24,18 @@ if [ -d ".manala/etc" ]; then
GOMPLATE_LOG_FORMAT=simple gomplate --input-dir=.manala/etc --output-dir=/etc 2>/dev/null
fi

# Services
if [ $# -eq 0 ] && [ -d "/etc/services.d" ]; then
exec s6-svscan /etc/services.d
# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
ln --symbolic /etc/services/available/docker-bridge /etc/services/enabled/
fi

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
ln --symbolic /etc/services/available/ssh-agent-bridge /etc/services/enabled/
fi

# Services
exec s6-svscan /etc/services/enabled &

# Command
exec gosu lazy "$@"
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#!/bin/sh

exit 0
5 changes: 5 additions & 0 deletions lazy.ansible/.manala/services/docker-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/docker.sock
5 changes: 5 additions & 0 deletions lazy.ansible/.manala/services/ssh-agent-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock
1 change: 1 addition & 0 deletions lazy.kubernetes/.manala.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ manala:
- .manala/github
- .manala/gitlab
- .manala/make
- .manala/services
- .manala/.dockerignore
- .manala/.gitignore
- .manala/Makefile.tmpl
Expand Down
5 changes: 5 additions & 0 deletions lazy.kubernetes/.manala/docker/Dockerfile.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ RUN \
# Clean
&& rm -rf /var/lib/apt/lists/*

# Services
COPY services/.s6-svscan /etc/services/enabled/.s6-svscan
COPY services/docker-bridge /etc/services/available/docker-bridge
COPY services/ssh-agent-bridge /etc/services/available/ssh-agent-bridge

##########
# System #
##########
Expand Down
38 changes: 11 additions & 27 deletions lazy.kubernetes/.manala/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,6 @@

set -e

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/ssh-auth-bridge.sock ;
socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock ; \
done \
" &
fi

# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/docker-bridge.sock ;
socat -t 600 \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/docker.sock ; \
done \
" &
fi

# As a consequence of running the container as root user,
# tty is not writable by sued user
if [ -t 1 ]; then
Expand All @@ -48,10 +24,18 @@ if [ -d ".manala/etc" ]; then
GOMPLATE_LOG_FORMAT=simple gomplate --input-dir=.manala/etc --output-dir=/etc 2>/dev/null
fi

# Services
if [ $# -eq 0 ] && [ -d "/etc/services.d" ]; then
exec s6-svscan /etc/services.d
# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
ln --symbolic /etc/services/available/docker-bridge /etc/services/enabled/
fi

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
ln --symbolic /etc/services/available/ssh-agent-bridge /etc/services/enabled/
fi

# Services
exec s6-svscan /etc/services/enabled &

# Command
exec gosu lazy "$@"
3 changes: 3 additions & 0 deletions lazy.kubernetes/.manala/services/.s6-svscan/finish
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

exit 0
5 changes: 5 additions & 0 deletions lazy.kubernetes/.manala/services/docker-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/docker.sock
5 changes: 5 additions & 0 deletions lazy.kubernetes/.manala/services/ssh-agent-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock
1 change: 1 addition & 0 deletions lazy.symfony/.manala.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ manala:
- .manala/github
- .manala/gitlab
- .manala/make
- .manala/services
- .manala/.dockerignore
- .manala/.gitignore
- .manala/Makefile.tmpl
Expand Down
9 changes: 9 additions & 0 deletions lazy.symfony/.manala/docker/Dockerfile.tmpl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,11 @@ RUN \
# Clean
&& rm -rf /var/lib/apt/lists/*

# Services
COPY services/.s6-svscan /etc/services/enabled/.s6-svscan
COPY services/docker-bridge /etc/services/available/docker-bridge
COPY services/ssh-agent-bridge /etc/services/available/ssh-agent-bridge

##########
# System #
##########
Expand Down Expand Up @@ -133,6 +138,8 @@ Pin-Priority: 1000\n\
# Clean
&& rm -rf /var/lib/apt/lists/*

COPY services/nginx /etc/services/enabled/nginx

# Php
{{ $php := .Vars.system.php -}}
RUN \
Expand Down Expand Up @@ -174,6 +181,8 @@ Signed-By: /etc/apt/keyrings/sury_php.gpg\n\
# Clean
&& rm -rf /var/lib/apt/lists/*

COPY services/php /etc/services/enabled/php

{{ $nodejs := .Vars.system.nodejs -}}
{{ if $nodejs.version -}}
# Nodejs
Expand Down
39 changes: 10 additions & 29 deletions lazy.symfony/.manala/docker/entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,6 @@

set -e

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/ssh-auth-bridge.sock ;
socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock ; \
done \
" &
fi

# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
sh -c " \
while sleep 1; do \
rm -f /var/run/docker-bridge.sock ;
socat -t 600 \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,mode=777 \
UNIX-CONNECT:/var/run/docker.sock ; \
done \
" &
fi

# As a consequence of running the container as root user,
# tty is not writable by sued user
if [ -t 1 ]; then
Expand All @@ -48,10 +24,15 @@ if [ -d ".manala/etc" ]; then
GOMPLATE_LOG_FORMAT=simple gomplate --input-dir=.manala/etc --output-dir=/etc 2>/dev/null
fi

# Services
if [ $# -eq 0 ] && [ -d "/etc/services.d" ]; then
exec s6-svscan /etc/services.d
# Docker bridge
if [ -n "${DOCKER_HOST}" ]; then
ln --symbolic /etc/services/available/docker-bridge /etc/services/enabled/
fi

# Ssh agent bridge
if [ -n "${SSH_AUTH_SOCK}" ]; then
ln --symbolic /etc/services/available/ssh-agent-bridge /etc/services/enabled/
fi

# Command
exec gosu lazy "$@"
# Services
exec s6-svscan /etc/services/enabled
3 changes: 3 additions & 0 deletions lazy.symfony/.manala/services/.s6-svscan/finish
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

exit 0
5 changes: 5 additions & 0 deletions lazy.symfony/.manala/services/docker-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/docker-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/docker.sock
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#!/bin/sh

exec nginx -c /etc/nginx/project.conf
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
#!/bin/sh

exec php-fpm --fpm-config /etc/php/default/fpm/project.conf
5 changes: 5 additions & 0 deletions lazy.symfony/.manala/services/ssh-agent-bridge/run
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/bin/sh

exec socat \
UNIX-LISTEN:/var/run/ssh-auth-bridge.sock,fork,unlink-early,mode=777 \
UNIX-CONNECT:/var/run/ssh-auth.sock

0 comments on commit 2306ea5

Please sign in to comment.