summary refs log tree commit diff
path: root/os/etc/s6-rc/make-logservice
blob: da53a75b1d5c3199c2bd1dfd4bf49c1b4da14be8 (plain) (blame)
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
#!/bin/sh
set -eu

sv=${1?:need service name.}
basedir=/etc/s6-rc/src

mkdir "${basedir}/${sv}-srv" "${basedir}/${sv}-log"

(
	cd "${basedir}/${sv}-srv"
	echo longrun > type
	echo "${sv}-log" > producer-for
	cat <<-EOF > run
	#!/bin/execlineb -P

	fdmove -c 2 1
	exec sh -c 'echo TODO >&2'
	EOF
)

(
	cd "${basedir}/${sv}-log"
	echo longrun > type
	echo 3 > notification-fd
	echo "${sv}-srv" > consumer-for
	echo "${sv}" > pipeline-name
	cat <<-EOF > run
	#!/bin/execlineb -P

	envfile /etc/s6-rc/config/log.conf
	envfile -I /etc/s6-rc/config/${sv}.conf
	importas -sCuD "n2 s2000000 T" LOG_DIRECTIVES LOG_DIRECTIVES
	importas -sCuD "/run/log" LOG_DIR LOG_DIR

	foreground { install -d \${LOG_DIR}/${sv} }
	s6-log -d3 -b -- \${LOG_DIRECTIVES} \${LOG_DIR}/${sv}
	EOF
)