From 28b4245b122a1ef2fe24167280170945315cbed9 Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Wed, 12 Jul 2017 16:31:59 +0100 Subject: [PATCH] Move onboot startup script to runc package As this does not use containerd at all, this means you can run very minimal setups with just `runc` if you use no services, for example most of our tests do not actually use services, or if you have other similar very minimal use cases. Move ulimit setup to `init` which makes more sense. Signed-off-by: Justin Cormack --- pkg/containerd/Makefile | 2 +- .../init.d/{010-containerd => 020-containerd} | 18 ------------------ pkg/init/bin/rc.init | 4 ++++ pkg/runc/Dockerfile | 1 + pkg/runc/Makefile | 1 + pkg/runc/etc/init.d/010-onboot | 15 +++++++++++++++ 6 files changed, 22 insertions(+), 19 deletions(-) rename pkg/containerd/etc/init.d/{010-containerd => 020-containerd} (50%) create mode 100755 pkg/runc/etc/init.d/010-onboot diff --git a/pkg/containerd/Makefile b/pkg/containerd/Makefile index 31828317c..8538dd615 100644 --- a/pkg/containerd/Makefile +++ b/pkg/containerd/Makefile @@ -1,5 +1,5 @@ IMAGE=containerd NETWORK=1 -DEPS=$(wildcard etc/init.d/*) +DEPS=$(wildcard etc/init.d/*) etc/containerd/config.toml include ../package.mk diff --git a/pkg/containerd/etc/init.d/010-containerd b/pkg/containerd/etc/init.d/020-containerd similarity index 50% rename from pkg/containerd/etc/init.d/010-containerd rename to pkg/containerd/etc/init.d/020-containerd index 8ec251290..c3d5d6339 100755 --- a/pkg/containerd/etc/init.d/010-containerd +++ b/pkg/containerd/etc/init.d/020-containerd @@ -1,9 +1,5 @@ #!/bin/sh -# set global ulimits TODO move to /etc/limits.conf -ulimit -n 1048576 -ulimit -p unlimited - # bring up containerd printf "\nStarting containerd\n" /usr/bin/containerd & @@ -14,20 +10,6 @@ do sleep 0.1 done -# start onboot containers, run to completion - -if [ -d /containers/onboot ] -then - for f in $(find /containers/onboot -mindepth 1 -maxdepth 1 | sort) - do - base="$(basename $f)" - /bin/mount --bind "$f/rootfs" "$f/rootfs" - mount -o remount,rw "$f/rootfs" - /usr/bin/runc run --bundle "$f" "$(basename $f)" - printf " - $base\n" - done -fi - # start service containers if [ -d /containers/services ] diff --git a/pkg/init/bin/rc.init b/pkg/init/bin/rc.init index 8334a6d75..d37bacf83 100755 --- a/pkg/init/bin/rc.init +++ b/pkg/init/bin/rc.init @@ -114,6 +114,10 @@ mount --make-rshared /var # make / rshared mount --make-rshared / +# set global ulimits TODO move to /etc/limits.conf? +ulimit -n 1048576 +ulimit -p unlimited + # execute other init processes INITS="$(find /etc/init.d -type f | sort)" for f in $INITS diff --git a/pkg/runc/Dockerfile b/pkg/runc/Dockerfile index 51517a5a1..75ff7b6b2 100644 --- a/pkg/runc/Dockerfile +++ b/pkg/runc/Dockerfile @@ -25,3 +25,4 @@ FROM scratch WORKDIR / ENTRYPOINT [] COPY --from=alpine /usr/bin/runc /usr/bin/ +COPY etc etc/ diff --git a/pkg/runc/Makefile b/pkg/runc/Makefile index 7f676177c..c56c7dfe1 100644 --- a/pkg/runc/Makefile +++ b/pkg/runc/Makefile @@ -1,4 +1,5 @@ IMAGE=runc NETWORK=1 +DEPS=$(wildcard etc/init.d/*) include ../package.mk diff --git a/pkg/runc/etc/init.d/010-onboot b/pkg/runc/etc/init.d/010-onboot new file mode 100755 index 000000000..f316605ea --- /dev/null +++ b/pkg/runc/etc/init.d/010-onboot @@ -0,0 +1,15 @@ +#!/bin/sh + +# start onboot containers, run to completion + +if [ -d /containers/onboot ] +then + for f in $(find /containers/onboot -mindepth 1 -maxdepth 1 | sort) + do + base="$(basename $f)" + /bin/mount --bind "$f/rootfs" "$f/rootfs" + mount -o remount,rw "$f/rootfs" + /usr/bin/runc run --bundle "$f" "$(basename $f)" + printf " - $base\n" + done +fi