-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathentrypoint.sh
executable file
·58 lines (50 loc) · 1.25 KB
/
entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh
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
chmod 666 "$(tty)"
GPG_TTY="$(tty)"
export GPG_TTY
fi
# Home cache
if [ -n "${MANALA_CACHE_DIR}" ]; then
HOME_DIR=${MANALA_CACHE_DIR}/home
if [ ! -d "${HOME_DIR}" ]; then
cp --archive /home/lazy/. "${HOME_DIR}"
fi
usermod --home "${HOME_DIR}" lazy 2>/dev/null
fi
# Templates
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
fi
# Command
export HOME="/home/lazy"
exec s6-setuidgid lazy "$@"