mirror of
https://github.com/hackerschoice/segfault.git
synced 2024-06-28 17:51:22 +00:00
38 lines
1.4 KiB
Bash
Executable File
38 lines
1.4 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
# The master can take commands from NGINX (or redis [not yet implemented])
|
|
|
|
source /sf/bin/funcs.sh || { sleep 5; exit 255; }
|
|
|
|
[[ ! -d /dev/shm/sf/master ]] && mkdir -p /dev/shm/sf/master
|
|
SOCKET="/dev/shm/sf/master/fcgiwrap.socket"
|
|
rm -f "${SOCKET:?}"
|
|
|
|
# set -e
|
|
# WARNING: runs as root in host's pid namespace
|
|
fcgiwrap -s "unix:${SOCKET}" -c1 -p /cgi-bin/rpc 2>&1 &
|
|
|
|
sleep 1
|
|
chgrp 33 "${SOCKET}" # Group ID from sf-rpc's www-data gid.
|
|
# chgrp 101 "${SOCKET}" # Group ID from sf-rpc's nginx gid.
|
|
chmod g+rwx "${SOCKET}"
|
|
|
|
# Load info for when 'rpc' is called.
|
|
arr=($(docker inspect -f '{{.Id}} {{.State.Pid}}' "sf-wg"))
|
|
[[ ${#arr[@]} -eq 0 ]] && ERREXIT 255 "Cant get sf-wg info: res=${#arr[@]}"
|
|
|
|
echo "WG_CID=\"${arr[0]}\"
|
|
WG_PID=\"${arr[1]}\"" >/dev/shm/config.txt
|
|
|
|
# Store info for when "ready-lg.sh" is called.
|
|
# MAC_SF_RPC=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.MacAddress}}{{end}}' sf-rpc)
|
|
LG_RPC_MAC=$(docker inspect -f '{{ (index .NetworkSettings.Networks "sf-guest").MacAddress }}' sf-rpc)
|
|
LG_ROUTER_MAC=$(docker inspect -f '{{ (index .NetworkSettings.Networks "sf-guest").MacAddress }}' sf-router)
|
|
SF_ROUTER_PID=$(docker inspect --format '{{ .State.Pid }}' sf-router)
|
|
echo "LG_RPC_MAC=\"$LG_RPC_MAC\"
|
|
LG_ROUTER_MAC=\"$LG_ROUTER_MAC\"
|
|
SF_ROUTER_PID=\"$SF_ROUTER_PID\"" >/dev/shm/config-lg.txt
|
|
|
|
exec -a '[master] sleep' sleep infinity
|
|
# sleep infinity
|