Files
weave-scope/vendor/runsvinit
Alban Crequy 42ad3aa12b Scope slow: improve error messages for debugging (#1534)
* alpine: dl-4.alpinelinux.org is dead, use another server

* increase buffer for docker stats

Attempt to avoid the following message:
docker container: dropping stats.

* probe: better timeout error messages

The logs contains the following messages:

Process reporter took longer than 1s
K8s reporter took longer than 1s
Docker reporter took longer than 1s
Endpoint reporter took longer than 1s

This patch prints how long it takes.
2016-05-22 18:21:55 +01:00
..
2015-09-29 11:45:12 +02:00
2015-09-29 11:45:12 +02:00
2015-09-29 11:45:12 +02:00
2015-09-29 14:29:28 +02:00

runsvinit Circle CI

If you have a Docker container that's a collection of runit-supervised daemons, this process is suitable for use as the ENTRYPOINT. See the example.

Why not just exec runsvdir?

docker stop issues SIGTERM (or, in a future version of Docker, perhaps another custom signal) but if runsvdir receives a signal, it doesn't wait for its supervised processes to exit before returning. If you don't care about graceful shutdown of your daemons, no problem, you don't need this tool.

Why not wrap runsvdir in a simple shell script?

This works great:

#!/bin/sh

sv_stop() {
	for s in $(ls -d /etc/service/*)
	do
		/sbin/sv stop $s
	done
}

trap "sv_stop; exit" SIGTERM
/sbin/runsvdir /etc/service &
wait

...except it doesn't reap orphaned child processes and is therefore unsuitable for being PID 1.

Why not use my_init from phusion/baseimage-docker?

That works great — if you're willing to add python3 to your Docker images :)

So this is just a stripped-down my_init in Go?

Basically, yes.