From 0f0239db45cbd40ff79f301bbade2f2dcb005931 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 17 Feb 2019 11:52:12 +0100 Subject: Renaming container-tools to compute-tools. Signed-off-by: Daniel Baumann --- Makefile | 64 +++++----- bin/container | 15 ++- bin/container-shell | 8 +- lib/container/auto | 9 +- lib/container/console | 7 +- lib/container/create | 18 +-- lib/container/enter | 7 +- lib/container/key | 7 +- lib/container/limit | 7 +- lib/container/list | 23 ++-- lib/container/log | 7 +- lib/container/move | 11 +- lib/container/remove | 15 +-- lib/container/restart | 11 +- lib/container/start | 15 +-- lib/container/status | 11 +- lib/container/stop | 13 +- lib/container/top | 7 +- lib/container/version | 7 +- share/bash-completion/container | 23 ++-- share/config/container.conf.in | 2 +- share/doc/HOST-SETUP.txt | 15 ++- share/doc/asciicast/introduction.sh | 11 +- share/doc/examples/buster.cfg | 40 +++--- share/doc/examples/engywuck-backports.cfg | 94 +++++++-------- share/hooks/pre-create.git-pull.sh | 10 +- share/logrotate/container | 11 ++ share/logrotate/container-tools | 11 -- share/man/Makefile | 1 - share/man/compute-tools.7.txt | 133 ++++++++++++++++++++ share/man/container-auto.1.txt | 9 +- share/man/container-console.1.txt | 9 +- share/man/container-create-curl.1.txt | 19 ++- share/man/container-create-debconf.1.txt | 19 ++- share/man/container-create-debootstrap.1.txt | 9 +- share/man/container-create.1.txt | 11 +- share/man/container-enter.1.txt | 9 +- share/man/container-key.1.txt | 9 +- share/man/container-limit.1.txt | 9 +- share/man/container-list.1.txt | 9 +- share/man/container-log.1.txt | 9 +- share/man/container-move.1.txt | 9 +- share/man/container-remove.1.txt | 9 +- share/man/container-restart.1.txt | 9 +- share/man/container-shell.1.txt | 19 ++- share/man/container-start.1.txt | 9 +- share/man/container-status.1.txt | 9 +- share/man/container-stop.1.txt | 9 +- share/man/container-tools.7.txt | 134 --------------------- share/man/container-top.1.txt | 9 +- share/man/container-version.1.txt | 15 ++- share/man/container.1.txt | 23 ++-- share/procps/zz-container-tools.conf | 16 --- share/procps/zz-container.conf | 16 +++ share/scripts/curl | 24 ++-- share/scripts/curl.d/0001-debconf | 1 - share/scripts/debconf | 30 ++--- share/scripts/debconf.d/0001-preseed-file | 8 +- .../scripts/debconf.d/0001-preseed-file.templates | 2 +- share/scripts/debconf.d/0002-preseed-debconf | 5 +- share/scripts/debconf.d/0003-debconf | 1 - share/scripts/debconf.d/0003-debconf.templates | 2 +- share/scripts/debootstrap | 5 +- share/sudo/container-shell | 1 + share/sudo/container-tools | 1 - share/systemd/container-auto.service | 2 +- share/systemd/container@.service | 2 +- 67 files changed, 550 insertions(+), 554 deletions(-) create mode 100644 share/logrotate/container delete mode 100644 share/logrotate/container-tools create mode 100644 share/man/compute-tools.7.txt delete mode 100644 share/man/container-tools.7.txt delete mode 100644 share/procps/zz-container-tools.conf create mode 100644 share/procps/zz-container.conf create mode 100644 share/sudo/container-shell delete mode 100644 share/sudo/container-tools diff --git a/Makefile b/Makefile index c6d3790..9068d8c 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,3 @@ -# Makefile - -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +17,10 @@ SHELL := sh -e -SOFTWARE = container-tools +PROJECT = open-infrastructure +SOFTWARE = compute-tools +PROGRAM = container + SCRIPTS = bin/* lib/*/* all: build @@ -57,18 +57,19 @@ build: share/man/*.txt sed -n '/^NAME/,$$p' share/man/$(SOFTWARE).7.txt > README.txt install: build - mkdir -p $(DESTDIR)/etc/$(SOFTWARE)/config - mkdir -p $(DESTDIR)/etc/$(SOFTWARE)/debconf - mkdir -p $(DESTDIR)/etc/$(SOFTWARE)/hooks + mkdir -p $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/config + mkdir -p $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/debconf + mkdir -p $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/hooks mkdir -p $(DESTDIR)/usr/bin cp -r bin/* $(DESTDIR)/usr/bin - mkdir -p $(DESTDIR)/usr/lib/$(SOFTWARE) - cp -r lib/* $(DESTDIR)/usr/lib/$(SOFTWARE) + mkdir -p $(DESTDIR)/usr/lib/$(PROJECT) + cp -r lib/* $(DESTDIR)/usr/lib/$(PROJECT) - mkdir -p $(DESTDIR)/usr/share/$(SOFTWARE) - cp -r VERSION.txt share/config share/hooks share/scripts $(DESTDIR)/usr/share/$(SOFTWARE) + mkdir -p $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) + cp -r VERSION.txt $(DESTDIR)/usr/share/$(PROJECT)/${PROGRAM} + cp -r share/config share/hooks share/scripts $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) mkdir -p $(DESTDIR)/usr/share/bash-completion/completions cp -r share/bash-completion/* $(DESTDIR)/usr/share/bash-completion/completions @@ -101,29 +102,29 @@ install: build ln -sf container-shell.1 $(DESTDIR)/usr/share/man/man1/cntsh.1 ln -sf container $(DESTDIR)/usr/share/bash-completion/completions/cnt - ln -sf debconf $(DESTDIR)/usr/share/$(SOFTWARE)/scripts/debian - ln -sf debconf.d $(DESTDIR)/usr/share/$(SOFTWARE)/scripts/debian.d + ln -sf debconf $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/scripts/debian + ln -sf debconf.d $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/scripts/debian.d ln -sf container-create-debconf.1 $(DESTDIR)/usr/share/man/man1/container-create-debian.1 - ln -sf debconf $(DESTDIR)/usr/share/$(SOFTWARE)/scripts/progress-linux - ln -sf debconf.d $(DESTDIR)/usr/share/$(SOFTWARE)/scripts/progress-linux.d + ln -sf debconf $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/scripts/progress-linux + ln -sf debconf.d $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM)/scripts/progress-linux.d ln -sf container-create-debconf.1 $(DESTDIR)/usr/share/man/man1/container-create-progress-linux.1 - ln -sf console $(DESTDIR)/usr/lib/$(SOFTWARE)/container/con - ln -sf list $(DESTDIR)/usr/lib/$(SOFTWARE)/container/ls - ln -sf move $(DESTDIR)/usr/lib/$(SOFTWARE)/container/mv - ln -sf start $(DESTDIR)/usr/lib/$(SOFTWARE)/container/s - ln -sf status $(DESTDIR)/usr/lib/$(SOFTWARE)/container/st - ln -sf stop $(DESTDIR)/usr/lib/$(SOFTWARE)/container/t - ln -sf remove $(DESTDIR)/usr/lib/$(SOFTWARE)/container/rm - ln -sf version $(DESTDIR)/usr/lib/$(SOFTWARE)/container/ver + ln -sf console $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/con + ln -sf list $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/ls + ln -sf move $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/mv + ln -sf start $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/s + ln -sf status $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/st + ln -sf stop $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/t + ln -sf remove $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/rm + ln -sf version $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM)/ver mkdir -p $(DESTDIR)/lib/systemd/system cp -r share/systemd/* $(DESTDIR)/lib/systemd/system - mkdir -p $(DESTDIR)/var/log/$(SOFTWARE) + mkdir -p $(DESTDIR)/var/log/$(PROJECT) uninstall: - rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/var/log/$(SOFTWARE) || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/var/log/$(PROJECT) || true for FILE in share/systemd/*; \ do \ @@ -170,10 +171,10 @@ uninstall: rm -rf $(DESTDIR)/usr/share/doc/$(SOFTWARE) rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share/doc || true - rm -rf $(DESTDIR)/usr/share/$(SOFTWARE) + rm -rf $(DESTDIR)/usr/share/$(PROJECT)/$(PROGRAM) rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/share || true - rm -rf $(DESTDIR)/usr/lib/$(SOFTWARE) + rm -rf $(DESTDIR)/usr/lib/$(PROJECT)/$(PROGRAM) rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/lib || true for FILE in bin/*; \ @@ -182,10 +183,11 @@ uninstall: done rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/usr/bin || true - rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(SOFTWARE)/config || true - rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(SOFTWARE)/debconf || true - rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(SOFTWARE)/hooks || true - rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(SOFTWARE) || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/config || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/debconf || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM)/hooks || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(PROJECT)/$(PROGRAM) || true + rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc/$(PROJECT) || true rmdir --ignore-fail-on-non-empty --parents $(DESTDIR)/etc || true rmdir --ignore-fail-on-non-empty --parents $(DESTDIR) || true diff --git a/bin/container b/bin/container index 50e5379..5df0fff 100755 --- a/bin/container +++ b/bin/container @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,10 @@ set -e -SOFTWARE="container-tools" +PROJECT="open-infrastructure" PROGRAM="container" -HOOKS="/etc/${SOFTWARE}/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" # Parameter PARAMETER="${1}" @@ -44,7 +43,7 @@ OPTIONS="${@}" for COMMAND in $(echo ${COMMANDS} | sed -e 's|,| |g') do - if [ ! -e "/usr/lib/${SOFTWARE}/${PROGRAM}/${COMMAND}" ] + if [ ! -e "/usr/lib/${PROJECT}/${PROGRAM}/${COMMAND}" ] then echo "'${COMMAND}': no such ${PROGRAM} command" >&2 exit 1 @@ -71,12 +70,12 @@ do HOST="$(hostname -f)" # logfile - echo "${DATE} ${HOST} ${USER} ${PROGRAM} ${COMMAND} ${OPTIONS}" >> "/var/log/${SOFTWARE}/${PROGRAM}.log" + echo "${DATE} ${HOST} ${USER} ${PROGRAM} ${COMMAND} ${OPTIONS}" >> "/var/log/${PROJECT}/${PROGRAM}.log" # irc - if [ -e /usr/bin/irk ] && [ -e "/etc/default/${SOFTWARE}" ] + if [ -e /usr/bin/irk ] && [ -e "/etc/${PROJECT}/${PROGRAM}.conf" ] then - . /etc/default/${SOFTWARE} + . "/etc/${PROJECT}/${PROGRAM}.conf" if [ -n "${IRK_TARGETS}" ] then @@ -91,7 +90,7 @@ do fi # Run - "/usr/lib/${SOFTWARE}/${PROGRAM}/${COMMAND}" "${OPTIONS}" + "/usr/lib/${PROJECT}/${PROGRAM}/${COMMAND}" "${OPTIONS}" # Post hooks for FILE in "${HOOKS}/post-${PROGRAM}".* "${HOOKS}/${NAME}.post-${PROGRAM}" diff --git a/bin/container-shell b/bin/container-shell index bce7cee..fe113d3 100755 --- a/bin/container-shell +++ b/bin/container-shell @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,8 @@ set -e -SOFTWARE="container-tools" +PROJECT="open-infrastructure" +SOFTWARE="compute-tools" PROGRAM="container" COMMAND="$(basename ${0})" @@ -64,7 +64,7 @@ Shell () echo "The following ${PROGRAM} commands are available:" echo - cd "/usr/lib/${SOFTWARE}/${PROGRAM}" + cd "/usr/lib/${PROJECT}/${PROGRAM}" find . -type f -printf " %f\n" | sort cd "${OLDPWD}" @@ -97,7 +97,7 @@ Shell () ;; esac - if [ ! -e "/usr/lib/${SOFTWARE}/${PROGRAM}/${COMMAND}" ] + if [ ! -e "/usr/lib/${PROJECT}/${PROGRAM}/${COMMAND}" ] then echo "'${COMMAND}': no such ${PROGRAM} command" >&2 return diff --git a/lib/container/auto b/lib/container/auto index 6c0e0cc..d6a76b7 100755 --- a/lib/container/auto +++ b/lib/container/auto @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" Parameters () { @@ -73,7 +74,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -f|--force -s|--start -t|--stop" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -f|--force -s|--start -t|--stop" >&2 exit 1 } diff --git a/lib/container/console b/lib/container/console index 0b7ec7a..0b49058 100755 --- a/lib/container/console +++ b/lib/container/console @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -HOOKS="/etc/container-tools/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -63,7 +64,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME" >&2 exit 1 } diff --git a/lib/container/create b/lib/container/create index ac977d6..469ba4d 100755 --- a/lib/container/create +++ b/lib/container/create @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,12 +19,15 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" -SCRIPTS="/usr/share/container-tools/scripts" +SCRIPTS="/usr/share/${PROJECT}/${PROGRAM}/scripts" +CONFIG_TEMPLATE="/usr/share/${PROJECT}/${PROGRAM}/config/container.conf.in" Parameters () { @@ -110,7 +112,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME [--cnt.container-server=true|false|FQDN] [--cnt.overlay=DIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED] [-b|--bind DIRECTORY:DIRECTORY[:OPTIONS]] [--bind-ro DIRECTORY:DIRECTORY[:OPTIONS]] [-c|--capability CAPABILITY[,CAPABILITY]] [-d|--drop-capability DROP_CAPABILITY[,DROP_CAPABILITY]] [-s|--script SCRIPT] [-v|--verbose] [-- SCRIPT_OPTIONS]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [--cnt.container-server=true|false|FQDN] [--cnt.overlay=DIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED] [-b|--bind DIRECTORY:DIRECTORY[:OPTIONS]] [--bind-ro DIRECTORY:DIRECTORY[:OPTIONS]] [-c|--capability CAPABILITY[,CAPABILITY]] [-d|--drop-capability DROP_CAPABILITY[,DROP_CAPABILITY]] [-s|--script SCRIPT] [-v|--verbose] [-- SCRIPT_OPTIONS]" >&2 exit 1 } @@ -141,8 +143,8 @@ then TARGET="$(basename $(readlink ${SCRIPTS}/default))" case "${TARGET}" in - container-tools_script) - TARGET="$(basename $(readlink /etc/alternatives/container-tools_script))" + container_script) + TARGET="$(basename $(readlink /etc/alternatives/container_script))" ;; esac @@ -251,7 +253,7 @@ sed -e "s|@CNT_AUTO@|${CNT_AUTO}|g" \ -e "s|@NETWORK_VETH_EXTRA@|${NETWORK_VETH_EXTRA}|g" \ -e "s|@PRIVATE_USERS@|no|g" \ -e "s|@REGISTER@|yes|g" \ -/usr/share/container-tools/config/container.conf.in > "${CONFIG}/${NAME}.conf" +"${CONFIG_TEMPLATE}" > "${CONFIG}/${NAME}.conf" # Run "${SCRIPTS}/${SCRIPT}" $(echo "${@}" | sed -e 's| -- | |') diff --git a/lib/container/enter b/lib/container/enter index 5c0aabc..9c9ebfa 100755 --- a/lib/container/enter +++ b/lib/container/enter @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -HOOKS="/etc/container-tools/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -63,7 +64,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME" >&2 exit 1 } diff --git a/lib/container/key b/lib/container/key index 46c6130..1b59555 100755 --- a/lib/container/key +++ b/lib/container/key @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -KEYS="/etc/container-tools/keys" +KEYS="/etc/${PROJECT}/${PROGRAM}/keys" Parameters () { @@ -74,7 +75,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} [-a|--add KEY] [-l|--list] [-r|--remove KEY]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} [-a|--add KEY] [-l|--list] [-r|--remove KEY]" >&2 exit 1 } diff --git a/lib/container/limit b/lib/container/limit index 641ee2f..b1ec170 100755 --- a/lib/container/limit +++ b/lib/container/limit @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -HOOKS="/etc/container-tools/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -103,7 +104,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME [--blockio-device-weight \"DEVICE WEIGHT\"] [--blockio-read-bandwidth \"DEVICE BYTES\"] [-b|--blockio-weight WEIGHT] [--blockio-write-bandwidth \"DEVICE BYTES\"] [-c|--cpu-quota QUOTA] [--cpu-shares SHARES] [-m|--memory-limit BYTES] [-t|--tasks-max NUMBER]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [--blockio-device-weight \"DEVICE WEIGHT\"] [--blockio-read-bandwidth \"DEVICE BYTES\"] [-b|--blockio-weight WEIGHT] [--blockio-write-bandwidth \"DEVICE BYTES\"] [-c|--cpu-quota QUOTA] [--cpu-shares SHARES] [-m|--memory-limit BYTES] [-t|--tasks-max NUMBER]" >&2 exit 1 } diff --git a/lib/container/list b/lib/container/list index 8e6f5bc..57d0d2d 100755 --- a/lib/container/list +++ b/lib/container/list @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,13 +19,15 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" -VERSION="$(container version)" +VERSION="$(${PROGRAM} version)" Parameters () { @@ -106,7 +107,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} [-a|--all] [--csv-separator SEPARATOR] [--format FORMAT] [-h|--host HOSTNAME] [--nwdiag-color COLOR] [--nwdiag-label LABEL] [-o|--other] [-s|--started] [-t|--stopped]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} [-a|--all] [--csv-separator SEPARATOR] [--format FORMAT] [-h|--host HOSTNAME] [--nwdiag-color COLOR] [--nwdiag-label LABEL] [-o|--other] [-s|--started] [-t|--stopped]" >&2 exit 1 } @@ -233,7 +234,7 @@ EOF csv) cat << EOF -# container-tools version ${VERSION} +# compute-tools ${VERSION} Host${CSV_SEPARATOR}Container${CSV_SEPARATOR}Status${CSV_SEPARATOR}IPv4-Address EOF @@ -243,7 +244,7 @@ EOF cat << EOF { - "container-tools": { + "compute-tools": { "version": "${VERSION}", }, "host": { @@ -258,7 +259,7 @@ EOF NETWORK="$(echo ${HOST} | sed -e 's|\.|_|g')" cat << EOF -# container-tools ${VERSION} +# compute-tools ${VERSION} nwdiag { external_connector = none; network ${NETWORK} { @@ -294,7 +295,7 @@ EOF cat << EOF --- -container_tools: +compute_tools: version: ${VERSION} host: @@ -308,9 +309,9 @@ EOF xml) cat << EOF - + ${VERSION} - + ${HOST} diff --git a/lib/container/log b/lib/container/log index 41ac087..200177c 100755 --- a/lib/container/log +++ b/lib/container/log @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -LOG="/var/log/container-tools/container.log" +LOG="/var/log/${PROJECT}/${PROGRAM}.log" Parameters () { @@ -72,7 +73,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} [-n|--name NAME] [-d|--date DATE|today|today-N|yesterday] [-u|--user USER]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} [-n|--name NAME] [-d|--date DATE|today|today-N|yesterday] [-u|--user USER]" >&2 exit 1 } diff --git a/lib/container/move b/lib/container/move index 40542de..278f972 100755 --- a/lib/container/move +++ b/lib/container/move @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -74,7 +75,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} [-f|--force] -n|--new NAME -o|--old NAME" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} [-f|--force] -n|--new NAME -o|--old NAME" >&2 exit 1 } @@ -111,7 +112,7 @@ case "${FORCE}" in ;; *) - if container list --other | grep -qs "^${OLD}$" + if ${PROGRAM} list --other | grep -qs "^${OLD}$" then echo -n "'${OLD}': rename container to '${NEW}' [y|N]? " read FORCE diff --git a/lib/container/remove b/lib/container/remove index 7b59ed1..13a9bd8 100755 --- a/lib/container/remove +++ b/lib/container/remove @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -87,7 +88,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME [--allow-stop] [-f|--force] [-v|--verbose]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [--allow-stop] [-f|--force] [-v|--verbose]" >&2 exit 1 } @@ -121,7 +122,7 @@ fi case "${NAME}" in ALL) - NAMES="$(container list --format shell --stopped)" + NAMES="$(${PROGRAM} list --format shell --stopped)" for NAME in ${NAMES} do @@ -131,7 +132,7 @@ case "${NAME}" in ;; esac - container remove --name ${NAME} ${OPTIONS_ALL} || true + ${PROGRAM} remove --name ${NAME} ${OPTIONS_ALL} || true done exit 0 @@ -151,7 +152,7 @@ case "${STATE}" in case "${ALLOW_STOP}" in true) echo "'${NAME}': container is started, stopping it now" >&2 - container stop -n ${NAME} + ${PROGRAM} stop -n ${NAME} ;; *) diff --git a/lib/container/restart b/lib/container/restart index 3ed9968..5b78dda 100755 --- a/lib/container/restart +++ b/lib/container/restart @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -HOOKS="/etc/container-tools/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -65,7 +66,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME" >&2 exit 1 } @@ -78,7 +79,7 @@ fi case "${NAME}" in ALL) - NAMES="$(container list --format shell --started)" + NAMES="$(${PROGRAM} list --format shell --started)" for NAME in ${NAMES} do @@ -88,7 +89,7 @@ case "${NAME}" in ;; esac - container restart --name ${NAME} || true + ${PROGRAM} restart --name ${NAME} || true done exit 0 diff --git a/lib/container/start b/lib/container/start index d73e328..a63c861 100755 --- a/lib/container/start +++ b/lib/container/start @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" START="false" @@ -89,7 +90,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME [-f|--force]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-f|--force]" >&2 exit 1 } @@ -102,7 +103,7 @@ fi case "${NAME}" in ALL) - NAMES="$(container list --format shell --stopped)" + NAMES="$(${PROGRAM} list --format shell --stopped)" for NAME in ${NAMES} do @@ -112,7 +113,7 @@ case "${NAME}" in ;; esac - container start --name ${NAME} ${OPTIONS_ALL} || true + ${PROGRAM} start --name ${NAME} ${OPTIONS_ALL} || true done exit 0 @@ -465,7 +466,7 @@ fi case "${SYSTEMCTL}" in true) - systemctl start container@${NAME}.service + systemctl start ${PROGRAM}@${NAME}.service # FIXME start console .. after sleep? + configuration option exit 0 ;; diff --git a/lib/container/status b/lib/container/status index 9c5ab20..a4b49e1 100755 --- a/lib/container/status +++ b/lib/container/status @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2016 Simon Spöehel # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -64,7 +65,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME" >&2 exit 1 } @@ -91,7 +92,7 @@ do done # Run -systemctl status container@${NAME}.service --full +systemctl status ${PROGRAM}@${NAME}.service --full # Post hooks for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}" diff --git a/lib/container/stop b/lib/container/stop index a5f0065..3a0de2a 100755 --- a/lib/container/stop +++ b/lib/container/stop @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" CLEAN="false" @@ -83,7 +84,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} -n|--name NAME [-f|--force]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} -n|--name NAME [-f|--force]" >&2 exit 1 } @@ -117,7 +118,7 @@ fi case "${NAME}" in ALL) - NAMES="$(container list --format shell --started)" + NAMES="$(${PROGRAM} list --format shell --started)" for NAME in ${NAMES} do @@ -127,7 +128,7 @@ case "${NAME}" in ;; esac - container stop --name ${NAME} ${OPTIONS_ALL} || true + ${PROGRAM} stop --name ${NAME} ${OPTIONS_ALL} || true done exit 0 diff --git a/lib/container/top b/lib/container/top index 5a0bb0d..7e757c8 100755 --- a/lib/container/top +++ b/lib/container/top @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,6 +19,8 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" Parameters () @@ -60,7 +61,7 @@ Parameters () Usage () { - echo "Usage: container ${COMMAND} [-d|--delay DELAY]" >&2 + echo "Usage: ${PROGRAM} ${COMMAND} [-d|--delay DELAY]" >&2 exit 1 } @@ -105,7 +106,7 @@ Top () trap 'clear' EXIT HUP INT QUIT TERM -Top "container list && printf '%-59s %-19s\n' \" Host: ${HOST}\" \"\$(date +%Y-%m-%d\ %H:%M:%S)\"" +Top "${PROGRAM} list && printf '%-59s %-19s\n' \" Host: ${HOST}\" \"\$(date +%Y-%m-%d\ %H:%M:%S)\"" # Post hooks for FILE in "${HOOKS}/post-${COMMAND}".* "${HOOKS}/${NAME}.post-${COMMAND}" diff --git a/lib/container/version b/lib/container/version index 06941c0..d356c3e 100755 --- a/lib/container/version +++ b/lib/container/version @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,10 +19,12 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" COMMAND="$(basename ${0})" -HOOKS="/etc/container-tools/hooks" -SHARE="/usr/share/container-tools" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" +SHARE="/usr/share/${PROJECT}/${PROGRAM}" # Pre hooks for FILE in "${HOOKS}/pre-${COMMAND}".* "${HOOKS}/${NAME}.pre-${COMMAND}" diff --git a/share/bash-completion/container b/share/bash-completion/container index 3f1f271..b7a73ae 100644 --- a/share/bash-completion/container +++ b/share/bash-completion/container @@ -1,6 +1,5 @@ # bash-completion # -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2016 Andreas Kreuzer # Copyright (C) 2016-2019 Daniel Baumann # @@ -64,13 +63,13 @@ _container() create) case "${prev}" in -n|--name) - opts="$(cd /etc/container-tools/debconf 2>/dev/null && ls *.cfg */*.cfg 2>/dev/null | sed -e 's|.*/||g' -e 's|.cfg$||g')" + opts="$(cd /etc/open-infrastructure/container/debconf 2>/dev/null && ls *.cfg */*.cfg 2>/dev/null | sed -e 's|.*/||g' -e 's|.cfg$||g')" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 ;; -s|--script) - opts="$(cd /usr/share/container-tools/scripts && find -maxdepth 1 -not -type d -and -not -name 'default' -and -not -name 'debconf' -and -not -name '*.d' -printf '%P\n' | sort)" + opts="$(cd /usr/share/open-infrastructure/container/scripts && find -maxdepth 1 -not -type d -and -not -name 'default' -and -not -name 'debconf' -and -not -name '*.d' -printf '%P\n' | sort)" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 ;; @@ -146,13 +145,13 @@ _container() log) case "${prev}" in -d|--date) - opts="$(if ls /var/log/container-tools/container.log-*.gz > /dev/null 2>&1; + opts="$(if ls /var/log/open-infrastructure/container.log-*.gz > /dev/null 2>&1; then \ - zcat /var/log/container-tools/container.log-*.gz | awk '{ print $1 }' | sort -u; \ + zcat /var/log/open-infrastructure/container.log-*.gz | awk '{ print $1 }' | sort -u; \ fi; \ - if [ -e /var/log/container-tools/container.log ]; \ + if [ -e /var/log/open-infrastructure/container.log ]; \ then \ - awk '{ print $1 }' /var/log/container-tools/container.log | sort -u; \ + awk '{ print $1 }' /var/log/open-infrastructure/container.log | sort -u; \ fi) \ today yesterday" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) @@ -160,13 +159,13 @@ _container() ;; -n|--name) - opts="$(if ls /var/log/container-tools/container.log-*.gz > /dev/null 2>&1; + opts="$(if ls /var/log/open-infrastructure/container.log-*.gz > /dev/null 2>&1; then \ - zgrep -E '(\-n|\-\-name) ' /var/log/container-tools/container.log-*.gz | sed -e 's|.*-n ||' -e 's|.*--name ||' -e 's| .*$||' | sort -u; \ + zgrep -E '(\-n|\-\-name) ' /var/log/open-infrastructure/container.log-*.gz | sed -e 's|.*-n ||' -e 's|.*--name ||' -e 's| .*$||' | sort -u; \ fi; \ - if [ -e /var/log/container-tools/container.log ]; \ + if [ -e /var/log/open-infrastructure/container.log ]; \ then \ - grep -E '(\-n|\-\-name) ' /var/log/container-tools/container.log | sed -e 's|.*-n ||' -e 's|.*--name ||' -e 's| .*$||' | sort -u; \ + grep -E '(\-n|\-\-name) ' /var/log/open-infrastructure/container.log | sed -e 's|.*-n ||' -e 's|.*--name ||' -e 's| .*$||' | sort -u; \ fi)" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 @@ -287,7 +286,7 @@ _container() ;; *) - local commands=$(cd /usr/lib/container-tools/container 2>/dev/null && find * -type f -print) + local commands=$(cd /usr/lib/open-infrastructure/container 2>/dev/null && find * -type f -print) COMPREPLY=( $(compgen -W "${commands}" -- ${cur}) ) return 0 ;; diff --git a/share/config/container.conf.in b/share/config/container.conf.in index 322e2c9..ebf91b9 100644 --- a/share/config/container.conf.in +++ b/share/config/container.conf.in @@ -1,4 +1,4 @@ -# container-tools: @NAME@ +# compute-tools: @NAME@ [start] cnt.auto=@CNT_AUTO@ diff --git a/share/doc/HOST-SETUP.txt b/share/doc/HOST-SETUP.txt index 8c915ef..d2e4216 100644 --- a/share/doc/HOST-SETUP.txt +++ b/share/doc/HOST-SETUP.txt @@ -1,5 +1,5 @@ -container-tools: Host Setup -=========================== +compute-tools: Host Setup +========================= 1. Debian Packages @@ -187,7 +187,7 @@ Linux supports unprivileged containers with the user namespace. By default the user namespace is disabled on Debian systems (see #898446). To enable user namespace, edit the following file for a permant change: - /etc/sysctl.d/zz-container-tools.conf + /etc/sysctl.d/zz-compute-tools.conf sysctl -p or enable it manually with: @@ -195,7 +195,7 @@ or enable it manually with: echo 1 > /proc/sys/kernel/unprivileged_userns_clone Note that containers need to be started with the correct -configuration in /etc/container-tools/config to run unpriviled +configuration in /etc/compute-tools/container/config to run unpriviled (private-users option). @@ -207,7 +207,6 @@ unprivileged users to manage privileged containers without granting them privileges or accounts, the container-shell can be used together with sudo and a container user. - sudo adduser --gecos "container-tools,,," \ - --home /var/lib/machines/container-tools \ - --shell /usr/bin/container-shell \ - --no-create-home container + sudo adduser --gecos "compute-tools,,," \ + --home /var/lib/open-infrastructure/container-shell \ + --shell /usr/bin/container-shell diff --git a/share/doc/asciicast/introduction.sh b/share/doc/asciicast/introduction.sh index cadfc93..68b02d2 100755 --- a/share/doc/asciicast/introduction.sh +++ b/share/doc/asciicast/introduction.sh @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -51,7 +50,7 @@ Text () sleep 2 -Text "# Welcome to this container-tools introduction cast." +Text "# Welcome to this compute-tools introduction cast." echo echo @@ -59,7 +58,7 @@ Text "# 1. We're using Debian ($(lsb_release -cs))..." Command "lsb_release -a" -Text "# ...and container-tools version $(cnt version)." +Text "# ...and compute-tools version $(cnt version)." Command "cnt version" @@ -125,13 +124,13 @@ Command "sudo cnt list" echo echo -Text "# This concludes this introduction to container-tools." +Text "# This concludes this introduction to compute-tools." Text "#" Text "# Thanks for watching and have fun setting up" Text "# your own Linux containers based on systemd-nspawn" -Text "# using container-tools from Open Infrastructure:" +Text "# using compute-tools from Open Infrastructure:" Text "#" -Text "# https://open-infrastructure.net/software/container-tools" +Text "# https://open-infrastructure.net/software/compute-tools" sleep 2 diff --git a/share/doc/examples/buster.cfg b/share/doc/examples/buster.cfg index 7ea6fdf..67705b4 100644 --- a/share/doc/examples/buster.cfg +++ b/share/doc/examples/buster.cfg @@ -1,37 +1,35 @@ -# container-tools - Manage systemd-nspawn containers -# # example for automated Debian 10 (buster) based container creation # using: sudo container create -s debian debconf debconf/priority select critical debconf debconf/frontend select Noninteractive -container-tools cnt-debconf/mode select debian +compute-tools cnt-debconf/mode select debian -#container-tools cnt-debconf/preseed-files string -#container-tools cnt-debconf/include-preseed-files string +#compute-tools cnt-debconf/preseed-files string +#compute-tools cnt-debconf/include-preseed-files string -container-tools cnt-debconf/distribution select buster -#container-tools cnt-debconf/parent-distribution select +compute-tools cnt-debconf/distribution select buster +#compute-tools cnt-debconf/parent-distribution select -container-tools cnt-debconf/architecture select auto +compute-tools cnt-debconf/architecture select auto -container-tools cnt-debconf/archives multiselect buster-security, buster-updates -#container-tools cnt-debconf/parent-archives multiselect +compute-tools cnt-debconf/archives multiselect buster-security, buster-updates +#compute-tools cnt-debconf/parent-archives multiselect -container-tools cnt-debconf/mirror string https://deb.debian.org/debian -container-tools cnt-debconf/mirror-security string http://security.debian.org +compute-tools cnt-debconf/mirror string https://deb.debian.org/debian +compute-tools cnt-debconf/mirror-security string http://security.debian.org -#container-tools cnt-debconf/parent-mirror string -#container-tools cnt-debconf/parent-mirror-security string +#compute-tools cnt-debconf/parent-mirror string +#compute-tools cnt-debconf/parent-mirror-security string -container-tools cnt-debconf/archive-areas multiselect main -#container-tools cnt-debconf/parent-archive-areas multiselect +compute-tools cnt-debconf/archive-areas multiselect main +#compute-tools cnt-debconf/parent-archive-areas multiselect -container-tools cnt-debconf/packages string openssh-server +compute-tools cnt-debconf/packages string openssh-server -container-tools cnt-debconf/root-password string debian -#container-tools cnt-debconf/root-password-crypted string +compute-tools cnt-debconf/root-password string debian +#compute-tools cnt-debconf/root-password-crypted string -container-tools cnt-debconf/network1/bridge string bridge0 -#container-tools cnt-debconf/network-mac string +compute-tools cnt-debconf/network1/bridge string bridge0 +#compute-tools cnt-debconf/network-mac string diff --git a/share/doc/examples/engywuck-backports.cfg b/share/doc/examples/engywuck-backports.cfg index d90c935..774e007 100644 --- a/share/doc/examples/engywuck-backports.cfg +++ b/share/doc/examples/engywuck-backports.cfg @@ -4,67 +4,67 @@ debconf debconf/priority select critical debconf debconf/frontend select Noninteractive -container-tools cnt-debconf/mode select progress-linux +compute-tools cnt-debconf/mode select progress-linux -#container-tools cnt-debconf/preseed-files string -#container-tools cnt-debconf/include-preseed-files string +#compute-tools cnt-debconf/preseed-files string +#compute-tools cnt-debconf/include-preseed-files string -container-tools cnt-debconf/distribution select engywuck-backports -#container-tools cnt-debconf/parent-distribution select +compute-tools cnt-debconf/distribution select engywuck-backports +#compute-tools cnt-debconf/parent-distribution select -container-tools cnt-debconf/architecture select auto +compute-tools cnt-debconf/architecture select auto -container-tools cnt-debconf/archives multiselect engywuck-security, engywuck-updates, engywuck-extras, engywuck-backports, engywuck-backports-extras -#container-tools cnt-debconf/parent-archives multiselect +compute-tools cnt-debconf/archives multiselect engywuck-security, engywuck-updates, engywuck-extras, engywuck-backports, engywuck-backports-extras +#compute-tools cnt-debconf/parent-archives multiselect -container-tools cnt-debconf/mirror string https://cdn.deb.progress-linux.org/packages -container-tools cnt-debconf/mirror-security string https://cdn.deb.progress-linux.org/packages +compute-tools cnt-debconf/mirror string https://cdn.deb.progress-linux.org/packages +compute-tools cnt-debconf/mirror-security string https://cdn.deb.progress-linux.org/packages -container-tools cnt-debconf/parent-mirror string https://deb.debian.org/debian -container-tools cnt-debconf/parent-mirror-security string http://security.debian.org +compute-tools cnt-debconf/parent-mirror string https://deb.debian.org/debian +compute-tools cnt-debconf/parent-mirror-security string http://security.debian.org -container-tools cnt-debconf/archive-areas multiselect main, contrib, non-free -container-tools cnt-debconf/parent-archive-areas multiselect main, contrib, non-free +compute-tools cnt-debconf/archive-areas multiselect main, contrib, non-free +compute-tools cnt-debconf/parent-archive-areas multiselect main, contrib, non-free -container-tools cnt-debconf/packages string knot-resolver openssh-server +compute-tools cnt-debconf/packages string knot-resolver openssh-server -container-tools cnt-debconf/root-password string progress -#container-tools cnt-debconf/root-password-crypted string +compute-tools cnt-debconf/root-password string progress +#compute-tools cnt-debconf/root-password-crypted string # Network IP configuration -container-tools cnt-debconf/network1/bridge string bridge0 -container-tools cnt-debconf/network1/veth string veth0 -container-tools cnt-debconf/network1/ipv4-method select static -container-tools cnt-debconf/network1/ipv4-comment string Primary network interfaces -container-tools cnt-debconf/network1/ipv4-address string 192.168.0.2 -container-tools cnt-debconf/network1/ipv4-gateway string 192.168.0.1 -container-tools cnt-debconf/network1/ipv4-netmask string 255.255.255.0 -#container-tools cnt-debconf/network1/ipv4-post-up string -#container-tools cnt-debconf/network1/ipv4-post-down string +compute-tools cnt-debconf/network1/bridge string bridge0 +compute-tools cnt-debconf/network1/veth string veth0 +compute-tools cnt-debconf/network1/ipv4-method select static +compute-tools cnt-debconf/network1/ipv4-comment string Primary network interfaces +compute-tools cnt-debconf/network1/ipv4-address string 192.168.0.2 +compute-tools cnt-debconf/network1/ipv4-gateway string 192.168.0.1 +compute-tools cnt-debconf/network1/ipv4-netmask string 255.255.255.0 +#compute-tools cnt-debconf/network1/ipv4-post-up string +#compute-tools cnt-debconf/network1/ipv4-post-down string # Network DNS configuration -container-tools cnt-debconf/nameserver/server string 127.0.0.1 8.8.8.8 8.8.4.4 -container-tools cnt-debconf/nameserver/domain string example.net -container-tools cnt-debconf/nameserver/search string example.net -container-tools cnt-debconf/nameserver/options string timeout:1 attempts:1 +compute-tools cnt-debconf/nameserver/server string 127.0.0.1 8.8.8.8 8.8.4.4 +compute-tools cnt-debconf/nameserver/domain string example.net +compute-tools cnt-debconf/nameserver/search string example.net +compute-tools cnt-debconf/nameserver/options string timeout:1 attempts:1 # Third-Party Repositories -#container-tools cnt-debconf/archive1/repository string -#container-tools cnt-debconf/archive1/list string -#container-tools cnt-debconf/archive1/comment string -#container-tools cnt-debconf/archive1/source string -#container-tools cnt-debconf/archive1/key string -#container-tools cnt-debconf/archive1/preferences-package string -#container-tools cnt-debconf/archive1/preferences-pin string -#container-tools cnt-debconf/archive1/preferences-pin-priority +#compute-tools cnt-debconf/archive1/repository string +#compute-tools cnt-debconf/archive1/list string +#compute-tools cnt-debconf/archive1/comment string +#compute-tools cnt-debconf/archive1/source string +#compute-tools cnt-debconf/archive1/key string +#compute-tools cnt-debconf/archive1/preferences-package string +#compute-tools cnt-debconf/archive1/preferences-pin string +#compute-tools cnt-debconf/archive1/preferences-pin-priority # Internal Options -#container-tools cnt-debconf/apt-recommends string -#container-tools cnt-debconf/debconf-frontend string -#container-tools cnt-debconf/debconf-priority string -#container-tools cnt-debconf/container-command string -#container-tools cnt-debconf/host-command string -container-tools cnt-debconf/auto string true -#container-tools cnt-debconf/overlay string -#container-tools cnt-debconf/bind string -#container-tools cnt-debconf/bind-ro string +#compute-tools cnt-debconf/apt-recommends string +#compute-tools cnt-debconf/debconf-frontend string +#compute-tools cnt-debconf/debconf-priority string +#compute-tools cnt-debconf/container-command string +#compute-tools cnt-debconf/host-command string +compute-tools cnt-debconf/auto string true +#compute-tools cnt-debconf/overlay string +#compute-tools cnt-debconf/bind string +#compute-tools cnt-debconf/bind-ro string diff --git a/share/hooks/pre-create.git-pull.sh b/share/hooks/pre-create.git-pull.sh index c48ddb3..a82a7a0 100755 --- a/share/hooks/pre-create.git-pull.sh +++ b/share/hooks/pre-create.git-pull.sh @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,10 @@ set -e -DIRECTORIES="/etc/container-tools/debconf /etc/container-tools/debconf/*/" +PROJECT="open-infrastructure" +PROGRAM="container" + +DIRECTORIES="/etc/${PROJECT}/${PROGRAM}/debconf /etc/${PROJECT}/${PROGRAM}/debconf/*/" for DIRECTORY in ${DIRECTORIES} do @@ -28,9 +30,9 @@ do then echo "Updating ${DIRECTORY}..." - if [ -e /etc/default/container-tools ] + if [ -e "/etc/${PROJECT}/${PROGRAM}.conf" ] then - . /etc/default/container-tools + . "/etc/${PROJECT}/${PROGRAM}.conf" fi DEBCONF_ID="${DEBCONF_ID:-HEAD}" diff --git a/share/logrotate/container b/share/logrotate/container new file mode 100644 index 0000000..14599be --- /dev/null +++ b/share/logrotate/container @@ -0,0 +1,11 @@ +/var/log/open-infrastructure/container.log { + compress + create 0640 root adm + dateext + dateformat -%Y%m + dateyesterday + missingok + monthly + notifempty + rotate 12 +} diff --git a/share/logrotate/container-tools b/share/logrotate/container-tools deleted file mode 100644 index 18aa713..0000000 --- a/share/logrotate/container-tools +++ /dev/null @@ -1,11 +0,0 @@ -/var/log/container-tools/container.log { - compress - create 0640 root adm - dateext - dateformat -%Y%m - dateyesterday - missingok - monthly - notifempty - rotate 12 -} diff --git a/share/man/Makefile b/share/man/Makefile index 39e3fec..4f5b682 100644 --- a/share/man/Makefile +++ b/share/man/Makefile @@ -1,6 +1,5 @@ # Makefile -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ diff --git a/share/man/compute-tools.7.txt b/share/man/compute-tools.7.txt new file mode 100644 index 0000000..5a4d6db --- /dev/null +++ b/share/man/compute-tools.7.txt @@ -0,0 +1,133 @@ +// Copyright (C) 2014-2019 Daniel Baumann +// +// SPDX-License-Identifier: GPL-3.0+ +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . + +CONTAINER-TOOLS(7) +================== +:doctype: manpage +:man manual: Open Infrastructure +:man source: compute-tools +:man version: {revnumber} + + +NAME +---- +compute-tools - Manage systemd-nspawn containers + + +DESCRIPTION +----------- +"[A Linux container] is an operating-system-level virtualization environment for running multiple isolated Linux systems (containers) on a single Linux control host.":: + -- Wikipedia (https://en.wikipedia.org/wiki/LXC) + +compute-tools provides the system integration for managing containers using systemd-nspawn. + + +DOWNLOAD +-------- + * Upstream Releases: https://get.open-infrastructure.net/software/compute-tools/upstream + * Upstream Sources: https://git.open-infrastructure.net/software/compute-tools + * Debian Releases: https://get.open-infrastructure.net/software/compute-tools/debian + * Debian Sources: https://git.progress-linux.org/users/daniel/debian/packages/open-infrastructure-compute-tools + + +INSTALLATION +------------ + +SOURCE +~~~~~~ + 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc dbus systemd-container + 2. git clone https://git.open-infrastructure.net/software/compute-tools + 3. cd compute-tools && sudo make install + +DEBIAN 9 (STRETCH) AND NEWER +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + * sudo apt install container-tools + + +DEVELOPMENT +----------- +Bug reports, feature requests, help, patches, support and everything else +are welcome on the Open Infrastructure Software Mailing List: + + * https://lists.open-infrastructure.net/listinfo/software + +Please base patches against the 'next' Git branch using common sense: + + * https://www.kernel.org/doc/Documentation/SubmittingPatches + +Debian specific bugs can also be reported in the Debian Bug Tracking System: + + * https://bugs.debian.org + + +KNOWN LIMITATIONS +----------------- + * This version of compute-tools currently do not work with systemd-networkd and depend on ifupdown. + * Using overlay, the upper directory can not be an NFS mount due to limitations in Linux' overlay filesystem, + see https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt + + +USAGE +----- +*Create a new container:*:: + sudo container create -n NAME + +*Start a container:*:: + sudo container start -n NAME + +*Stop a container:*:: + sudo container stop -n NAME + +*Remove a container:*:: + sudo container remove -n NAME + +*List container on the system:*:: + sudo container list + +*Show container version:*:: + container version + +See container(1) for a list of all container commands. + + +LINKS +----- +*2016-02-24: Systemd vs. Docker*:: + https://lwn.net/Articles/676831/ + +*2015-06-10: Systemd and containers*:: + https://lwn.net/Articles/647634/ + +*2014-07-07: Control groups*:: + https://lwn.net/Articles/604609/ + +*2013-11-13: Systemd-Nspawn is Chroot on Steroids [LinuxCon Europe]*:: + https://www.youtube.com/watch?v=s7LlUs5D9p4 + +*2013-11-03: Creating containers with systemd-nspawn*:: + https://lwn.net/Articles/572957/ + +*2013-02-06: Systemd lightweight containers*:: + https://lwn.net/Articles/536033/ + +*2013-01-04: Namespaces in operation*:: + https://lwn.net/Articles/531114/ + + +AUTHORS +------- +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-auto.1.txt b/share/man/container-auto.1.txt index cdc8317..0d0a633 100644 --- a/share/man/container-auto.1.txt +++ b/share/man/container-auto.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-START(1) ================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -64,13 +63,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -83,4 +82,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-console.1.txt b/share/man/container-console.1.txt index 8ac2a87..54cf242 100644 --- a/share/man/container-console.1.txt +++ b/share/man/container-console.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CONSOLE(1) ==================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -58,13 +57,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -77,4 +76,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-create-curl.1.txt b/share/man/container-create-curl.1.txt index 89c214b..78228a8 100644 --- a/share/man/container-create-curl.1.txt +++ b/share/man/container-create-curl.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CREATE-CURL(1) ======================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -84,37 +83,37 @@ FILES ----- The following files are used: -*/etc/container-tools/config*:: +*/etc/open-infrastructure/container/config*:: Container configuration files. -*/usr/share/container-tools/scripts*:: +*/usr/share/open-infrastructure/container/scripts*:: Container creation scripts. -*/usr/share/doc/container-tools*:: +*/usr/share/doc/compute-tools*:: Container documentation. */var/lib/machines*:: Container directory. -*/var/cache/container-tools*:: +*/var/cache/open-infrastructure/container*:: Container cache directory. CONTAINER IMAGES ---------------- -container-tools will download tarballs from a server expecting that the images are tarballs with either gzip, lzip, xz, or no compression. See container-images.sh as an example on how to create your own container images. +compute-tools will download tarballs from a server expecting that the images are tarballs with either gzip, lzip, xz, or no compression. See container-images.sh as an example on how to create your own container images. SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -127,4 +126,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-create-debconf.1.txt b/share/man/container-create-debconf.1.txt index f05e4a8..e6f2582 100644 --- a/share/man/container-create-debconf.1.txt +++ b/share/man/container-create-debconf.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CREATE-DEBOOTSTRAP(1) =============================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -113,34 +112,34 @@ FILES ----- The following files are used: -*/etc/container-tools/config*:: +*/etc/open-infrastructure/container/config*:: Container configuration files. -*/usr/share/container-tools/scripts*:: +*/usr/share/open-infrastructure/container/scripts*:: Container creation scripts. -*/usr/share/doc/container-tools*:: +*/usr/share/doc/compute-tools*:: Container documentation. */var/lib/machines*:: Container directory. -*/var/cache/container-tools*:: +*/var/cache/open-infrastructure/container*:: Container cache directory. -*/tmp/container-tools*:: +*/tmp/compute-tools*:: Container temporary directory. SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -153,4 +152,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-create-debootstrap.1.txt b/share/man/container-create-debootstrap.1.txt index 3168800..fc8651e 100644 --- a/share/man/container-create-debootstrap.1.txt +++ b/share/man/container-create-debootstrap.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CREATE-DEBOOTSTRAP(1) =============================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -76,13 +75,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -95,4 +94,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-create.1.txt b/share/man/container-create.1.txt index de9634f..d36a694 100644 --- a/share/man/container-create.1.txt +++ b/share/man/container-create.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CREATE(1) =================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -82,7 +81,7 @@ The following container scripts are available: Advanced script to automatically create Debian based container, see container-create-debconf(1). *default*:: - Symlink (if existing) to a container script which is used if no script was specified. On Debian based system this can be managed through update-alternatives(1), i.e. 'sudo update-alternatives --config container-tools_script'. + Symlink (if existing) to a container script which is used if no script was specified. On Debian based system this can be managed through update-alternatives(1), i.e. 'sudo update-alternatives --config container_script'. EXAMPLES @@ -101,13 +100,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -120,4 +119,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-enter.1.txt b/share/man/container-enter.1.txt index e1122b2..aaf14de 100644 --- a/share/man/container-enter.1.txt +++ b/share/man/container-enter.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-CONSOLE(1) ==================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -58,13 +57,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -77,4 +76,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-key.1.txt b/share/man/container-key.1.txt index 6b34a04..7e7f376 100644 --- a/share/man/container-key.1.txt +++ b/share/man/container-key.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-KEY(1) ================ :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -65,13 +64,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -84,4 +83,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-limit.1.txt b/share/man/container-limit.1.txt index 09ed2b4..62f0288 100644 --- a/share/man/container-limit.1.txt +++ b/share/man/container-limit.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-LIMIT(1) ================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -88,13 +87,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -107,4 +106,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-list.1.txt b/share/man/container-list.1.txt index 77f6ac9..1916a6b 100644 --- a/share/man/container-list.1.txt +++ b/share/man/container-list.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-LIST(1) ================= :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -105,13 +104,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -124,4 +123,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-log.1.txt b/share/man/container-log.1.txt index ea13f5b..ea5ab91 100644 --- a/share/man/container-log.1.txt +++ b/share/man/container-log.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-LOG(1) ================ :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -69,13 +68,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -88,4 +87,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-move.1.txt b/share/man/container-move.1.txt index 17e08e8..2320dfb 100644 --- a/share/man/container-move.1.txt +++ b/share/man/container-move.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-REMOVE(1) =================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -66,13 +65,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -85,4 +84,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-remove.1.txt b/share/man/container-remove.1.txt index b1718b1..b3fb1f7 100644 --- a/share/man/container-remove.1.txt +++ b/share/man/container-remove.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-REMOVE(1) =================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -75,13 +74,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -94,4 +93,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-restart.1.txt b/share/man/container-restart.1.txt index 2d55525..f3780b6 100644 --- a/share/man/container-restart.1.txt +++ b/share/man/container-restart.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-RESTART(1) ==================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -58,13 +57,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -77,4 +76,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-shell.1.txt b/share/man/container-shell.1.txt index 2050510..0fd1aa9 100644 --- a/share/man/container-shell.1.txt +++ b/share/man/container-shell.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER(1) ============ :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -36,7 +35,7 @@ SYNOPSIS DESCRIPTION ----------- -container-tools provides the system integration for managing containers using systemd-nspawn. +compute-tools provides the system integration for managing containers using systemd-nspawn. COMMANDS @@ -63,13 +62,13 @@ needing a regular shell login on the container server. For usage over SSH a unprivileged user should be created: - sudo adduser --gecos "container-tools,,," \ - --home /var/lib/container-tools/container-shell \ + sudo adduser --gecos "compute-tools,,," \ + --home /var/lib/open-infrastructure/container-shell \ --shell /usr/bin/container-shell -The container-shell can then be allowed for specific SSH keys via /var/ib/container-tools/container-shell/.ssh/authorized_keys like so: +The container-shell can then be allowed for specific SSH keys via /var/lib/open-infrastructure/container-shell/.ssh/authorized_keys like so: - command="/usr/bin/container-shell",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa [...] + command="/usr/bin/container-shell",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 [...] RESTRICTED SHELL @@ -84,7 +83,7 @@ Example (blacklisting): In order to allow all commands except for removing and s command="CONTAINER_COMMANDS_DISABLE='remove stop' /usr/bin/container-shell",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa [...] -Example (whitelisting): The other way around works too. To disallow all commands except for listing containers and showing the container-tools version, the following variable can be used: +Example (whitelisting): The other way around works too. To disallow all commands except for listing containers and showing the compute-tools version, the following variable can be used: command="CONTAINER_COMMANDS_ENABLE='list version' /usr/bin/container-shell",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa [...] @@ -97,7 +96,7 @@ systemd-nspawn(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -110,4 +109,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-start.1.txt b/share/man/container-start.1.txt index 3742444..544d155 100644 --- a/share/man/container-start.1.txt +++ b/share/man/container-start.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-START(1) ================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -61,13 +60,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -80,4 +79,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-status.1.txt b/share/man/container-status.1.txt index b403769..d4d06a9 100644 --- a/share/man/container-status.1.txt +++ b/share/man/container-status.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2016 Simon Spöehel // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-STATUS(1) =================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -55,13 +54,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -74,4 +73,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-stop.1.txt b/share/man/container-stop.1.txt index cc510f7..62cfcd3 100644 --- a/share/man/container-stop.1.txt +++ b/share/man/container-stop.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-STOP(1) ================= :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -64,13 +63,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -83,4 +82,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-tools.7.txt b/share/man/container-tools.7.txt deleted file mode 100644 index 3f6e450..0000000 --- a/share/man/container-tools.7.txt +++ /dev/null @@ -1,134 +0,0 @@ -// container-tools - Manage systemd-nspawn containers -// Copyright (C) 2014-2019 Daniel Baumann -// -// SPDX-License-Identifier: GPL-3.0+ -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . - -CONTAINER-TOOLS(7) -================== -:doctype: manpage -:man manual: Open Infrastructure -:man source: container-tools -:man version: {revnumber} - - -NAME ----- -container-tools - Manage systemd-nspawn containers - - -DESCRIPTION ------------ -"[A Linux container] is an operating-system-level virtualization environment for running multiple isolated Linux systems (containers) on a single Linux control host.":: - -- Wikipedia (https://en.wikipedia.org/wiki/LXC) - -container-tools provides the system integration for managing containers using systemd-nspawn. - - -DOWNLOAD --------- - * Upstream Releases: https://files.open-infrastructure.net/software/container-tools/upstream - * Upstream Sources: https://sources.open-infrastructure.net/software/container-tools - * Debian Releases: https://files.open-infrastructure.net/software/container-tools/debian - * Debian Sources: https://sources.progress-linux.org/users/daniel/debian/packages/open-infrastructure-container-tools - - -INSTALLATION ------------- - -SOURCE -~~~~~~ - 1. sudo apt install asciidoc git docbook-xml docbook-xsl libxml2-utils make xsltproc dbus systemd-container - 2. git clone https://sources.open-infrastructure.net/software/container-tools - 3. cd container-tools && sudo make install - -DEBIAN 9 (STRETCH) AND NEWER -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - * sudo apt install container-tools - - -DEVELOPMENT ------------ -Bug reports, feature requests, help, patches, support and everything else -are welcome on the Open Infrastructure Software Mailing List: - - * https://lists.open-infrastructure.net/listinfo/software - -Please base patches against the 'next' Git branch using common sense: - - * https://www.kernel.org/doc/Documentation/SubmittingPatches - -Debian specific bugs can also be reported in the Debian Bug Tracking System: - - * https://bugs.debian.org - - -KNOWN LIMITATIONS ------------------ - * This version of container-tools currently do not work with systemd-networkd and depend on ifupdown. - * Using overlay, the upper directory can not be an NFS mount due to limitations in Linux' overlay filesystem, - see https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt - - -USAGE ------ -*Create a new container:*:: - sudo container create -n NAME - -*Start a container:*:: - sudo container start -n NAME - -*Stop a container:*:: - sudo container stop -n NAME - -*Remove a container:*:: - sudo container remove -n NAME - -*List container on the system:*:: - sudo container list - -*Show container-tools version:*:: - container version - -See container(1) for a list of all container commands. - - -LINKS ------ -*2016-02-24: Systemd vs. Docker*:: - https://lwn.net/Articles/676831/ - -*2015-06-10: Systemd and containers*:: - https://lwn.net/Articles/647634/ - -*2014-07-07: Control groups*:: - https://lwn.net/Articles/604609/ - -*2013-11-13: Systemd-Nspawn is Chroot on Steroids [LinuxCon Europe]*:: - https://www.youtube.com/watch?v=s7LlUs5D9p4 - -*2013-11-03: Creating containers with systemd-nspawn*:: - https://lwn.net/Articles/572957/ - -*2013-02-06: Systemd lightweight containers*:: - https://lwn.net/Articles/536033/ - -*2013-01-04: Namespaces in operation*:: - https://lwn.net/Articles/531114/ - - -AUTHORS -------- -container-tools was written by Daniel Baumann and others. diff --git a/share/man/container-top.1.txt b/share/man/container-top.1.txt index 73c2356..b603557 100644 --- a/share/man/container-top.1.txt +++ b/share/man/container-top.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER-TOP(1) ================ :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -55,13 +54,13 @@ EXAMPLES SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -74,4 +73,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container-version.1.txt b/share/man/container-version.1.txt index 1d82387..d774401 100644 --- a/share/man/container-version.1.txt +++ b/share/man/container-version.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,13 +19,13 @@ CONTAINER-VERSION(1) ==================== :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} NAME ---- -container-version - Show container-tools version +container-version - Show container version SYNOPSIS @@ -38,7 +37,7 @@ SYNOPSIS DESCRIPTION ----------- -The container version command shows the container-tools version number. +The container version command shows the container version number. OPTIONS @@ -48,19 +47,19 @@ This command has no options. EXAMPLES -------- -*Show container-tools version:*:: +*Show container version:*:: container version SEE ALSO -------- -container-tools(7), +compute-tools(7), container(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -73,4 +72,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/man/container.1.txt b/share/man/container.1.txt index 7170041..aba9141 100644 --- a/share/man/container.1.txt +++ b/share/man/container.1.txt @@ -1,4 +1,3 @@ -// container-tools - Manage systemd-nspawn containers // Copyright (C) 2014-2019 Daniel Baumann // // SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,7 @@ CONTAINER(1) ============ :doctype: manpage :man manual: Open Infrastructure -:man source: container-tools +:man source: compute-tools :man version: {revnumber} @@ -37,7 +36,7 @@ SYNOPSIS DESCRIPTION ----------- -container-tools provides the system integration for managing containers using systemd-nspawn. +compute-tools provides the system integration for managing containers using systemd-nspawn. OPTIONS @@ -95,14 +94,14 @@ The following container commands are available: Dynamic list of container on the system, see container-top(1). *version*:: - Show container-tools version, see container-version(1). + Show container version, see container-version(1). FILES ----- The following files are used: -*/etc/container-tools*:: +*/etc/open-infrastructure/container*:: Container configuration files. */usr/bin/container*, */usr/bin/cnt*:: @@ -111,22 +110,22 @@ The following files are used: */usr/bin/container-shell*, */usr/bin/cntsh*:: Container shell program. -*/usr/lib/container-tools*:: +*/usr/lib/open-infrastructure/container*:: Container commands. -*/usr/share/container-tools*:: +*/usr/share/open-infrastructure/container*:: Container shared data. -*/usr/share/doc/container-tools*:: +*/usr/share/doc/compute-tools*:: Container documentation files. -*/var/cache/container-tools*:: +*/var/cache/open-infrastructure/container*:: Container cache directory. */var/lib/machines*:: Container root directory. -*/var/log/container-tools*:: +*/var/log/open-infrastructure*:: Container log files. @@ -138,7 +137,7 @@ systemd-nspawn(1). HOMEPAGE -------- -More information about container-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. +More information about compute-tools and the Open Infrastructure project can be found on the homepage at https://open-infrastructure.net. CONTACT @@ -151,4 +150,4 @@ Debian specific bugs can also be reported in the Debian Bug Tracking System at h AUTHORS ------- -container-tools was written by Daniel Baumann and others. +compute-tools were written by Daniel Baumann and others. diff --git a/share/procps/zz-container-tools.conf b/share/procps/zz-container-tools.conf deleted file mode 100644 index c464c42..0000000 --- a/share/procps/zz-container-tools.conf +++ /dev/null @@ -1,16 +0,0 @@ -# The default limits are set to low for running many containers -# and eventually lead to errors like the following on container start: -# -# Failed to allocate directory watch: Too many open files - -# /proc/sys/fs/inotify/max_queued_events defaults to 16384 -fs.inotify.max_queued_events=1048576 - -# /proc/sys/fs/inotify/max_user_instances defaults to 128 -fs.inotify.max_user_instances=1048576 - -# /proc/sys/fs/inotify/max_user_watches defaults to 8192 -fs.inotify.max_user_watches=1048576 - -# Enabling user namespace, disabled by default (#898446) -#kernel.unprivileged_userns_clone=1 diff --git a/share/procps/zz-container.conf b/share/procps/zz-container.conf new file mode 100644 index 0000000..c464c42 --- /dev/null +++ b/share/procps/zz-container.conf @@ -0,0 +1,16 @@ +# The default limits are set to low for running many containers +# and eventually lead to errors like the following on container start: +# +# Failed to allocate directory watch: Too many open files + +# /proc/sys/fs/inotify/max_queued_events defaults to 16384 +fs.inotify.max_queued_events=1048576 + +# /proc/sys/fs/inotify/max_user_instances defaults to 128 +fs.inotify.max_user_instances=1048576 + +# /proc/sys/fs/inotify/max_user_watches defaults to 8192 +fs.inotify.max_user_watches=1048576 + +# Enabling user namespace, disabled by default (#898446) +#kernel.unprivileged_userns_clone=1 diff --git a/share/scripts/curl b/share/scripts/curl index 965bc26..54def52 100755 --- a/share/scripts/curl +++ b/share/scripts/curl @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,12 +19,15 @@ set -e +PROJECT="open-infrastructure" +SOFTWARE="compute-tools" +PROGRAM="container" SCRIPT="${0}" -HOOKS="/etc/container-tools/hooks" -KEYS="/etc/container-tools/keys" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" +KEYS="/etc/${PROJECT}/${PROGRAM}/keys" MACHINES="/var/lib/machines" -CACHE="/var/cache/container-tools/system" +CACHE="/var/cache/${PROJECT}/${PROGRAM}/system" Parameters () { @@ -241,8 +243,8 @@ then # Downloading container list if curl --fail --head --output /dev/null --silent "${SERVER}/container-list.txt" then - mkdir -p /tmp/container-tools - DEBCONF_TMPDIR="$(mktemp -d -p /tmp/container-tools -t $(basename ${0}).XXXX)" + mkdir -p "/tmp/${SOFTWARE}" + DEBCONF_TMPDIR="$(mktemp -d -p "/tmp/${SOFTWARE}" -t $(basename ${0}).XXXX)" export DEBCONF_TMPDIR if [ -z "${ARCHITECTURE}" ] @@ -257,7 +259,7 @@ then GREP_PATTERN="${GREP_PATTERN:-${ARCHITECTURE}}" echo "Downloading $(echo ${SERVER} | awk -F/ '{ print $3 }') container list" - curl --fail --location --progress-bar --user-agent container-tools/${VERSION} ${CURL_OPTIONS} \ + curl --fail --location --progress-bar --user-agent ${SOFTWARE}/${VERSION} ${CURL_OPTIONS} \ "${SERVER}/container-list.txt" | grep -E "${GREP_PATTERN}" > "${DEBCONF_TMPDIR}/container-list.txt" umask 0022 @@ -265,12 +267,12 @@ then Debconf # Run debconf parts - for DEBCONF_SCRIPT in /usr/share/container-tools/scripts/curl.d/* + for DEBCONF_SCRIPT in /usr/share/${PROJECT}/${PROGRAM}/scripts/curl.d/* do if [ -x "${DEBCONF_SCRIPT}" ] then # FIXME - # debconf -ocontainer-tools "${DEBCONF_SCRIPT}" + # debconf -o${SOFTWARE} "${DEBCONF_SCRIPT}" "${DEBCONF_SCRIPT}" fi done @@ -280,7 +282,7 @@ then # Remove debconf temporary files rm --preserve-root --one-file-system -rf "${DEBCONF_TMPDIR}" - rmdir --ignore-fail-on-non-empty /tmp/container-tools 2>&1 || true + rmdir --ignore-fail-on-non-empty "/tmp/${SOFTWARE}" 2>&1 || true fi fi @@ -320,7 +322,7 @@ do fi echo "Downloading ${FILE}" - curl --fail --location --progress-bar --user-agent container-tools/${VERSION} ${CURL_OPTIONS} ${CURL_TIME_COND} \ + curl --fail --location --progress-bar --user-agent ${SOFTWARE}/${VERSION} ${CURL_OPTIONS} ${CURL_TIME_COND} \ "${SERVER}/${FILE}" -o "${CACHE}/${FILE}" fi done diff --git a/share/scripts/curl.d/0001-debconf b/share/scripts/curl.d/0001-debconf index 95e6a62..3f98f74 100755 --- a/share/scripts/curl.d/0001-debconf +++ b/share/scripts/curl.d/0001-debconf @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ diff --git a/share/scripts/debconf b/share/scripts/debconf index 2c26ffa..fbb20fa 100755 --- a/share/scripts/debconf +++ b/share/scripts/debconf @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,11 +19,14 @@ set -e +PROJECT="open-infrastructure" +SOFTWARE="compute-tools" +PROGRAM="container" SCRIPT="${0}" export SCRIPT -CONFIG="/etc/container-tools/config" -HOOKS="/etc/container-tools/hooks" +CONFIG="/etc/${PROJECT}/${PROGRAM}/config" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () @@ -157,7 +159,7 @@ Upgrade_system () # Disable dpkg syncing -cat > "${DIRECTORY}/etc/dpkg/dpkg.cfg.d/container-tools" << EOF +cat > "${DIRECTORY}/etc/dpkg/dpkg.cfg.d/${SOFTWARE}" << EOF force-unsafe-io EOF @@ -190,7 +192,7 @@ Cleanup_system () Chroot "${DIRECTORY}" "apt-get clean" # Cleanup - rm -f "${DIRECTORY}/etc/dpkg/dpkg.cfg.d/container-tools" + rm -f "${DIRECTORY}/etc/dpkg/dpkg.cfg.d/${SOFTWARE}" rm -f "${DIRECTORY}/usr/sbin/policy-rc.d" # Unmount pseudo-filesystems @@ -202,8 +204,8 @@ Cleanup_system () Debconf () { # Configure local debconf - mkdir -p /tmp/container-tools - DEBCONF_TMPDIR="$(mktemp -d -p /tmp/container-tools -t $(basename ${0}).XXXX)" + mkdir -p "/tmp/${SOFTWARE}" + DEBCONF_TMPDIR="$(mktemp -d -p "/tmp/${SOFTWARE}" -t $(basename ${0}).XXXX)" export DEBCONF_TMPDIR mkdir -p "${DEBCONF_TMPDIR}/debconf" @@ -853,7 +855,7 @@ EOF cat > "${DIRECTORY}/etc/systemd/system/cnt-ipv4-post-up-eno${NUMBER}.service" << EOF [Unit] -Description=container-tools IPV4_POST_UP +Description=${SOFTWARE} IPV4_POST_UP After=network-online.target Wants=network-online.target @@ -873,7 +875,7 @@ EOF cat > "${DIRECTORY}/etc/systemd/system/cnt-ipv4-post-down-eno${NUMBER}.service" << EOF [Unit] -Description=container-tools IPV4_POST_DOWN +Description=${SOFTWARE} IPV4_POST_DOWN After=network.target Wants=network.target @@ -986,12 +988,12 @@ do done # Run debconf parts -for DEBCONF_SCRIPT in /usr/share/container-tools/scripts/debconf.d/* +for DEBCONF_SCRIPT in "/usr/share/${PROJECT}/${PROGRAM}/scripts/debconf.d"/* do if [ -x "${DEBCONF_SCRIPT}" ] then # FIXME - # debconf -ocontainer-tools "${DEBCONF_SCRIPT}" + # debconf -o${SOFTWARE} "${DEBCONF_SCRIPT}" "${DEBCONF_SCRIPT}" fi done @@ -999,7 +1001,7 @@ done # Read-in configuration from debconf . "${DEBCONF_TMPDIR}/debconf.default" -CACHE="/var/cache/container-tools/${MODE}" +CACHE="/var/cache/${PROJECT}/${PROGRAM}/${MODE}" SYSTEM="${MACHINES}/${NAME}" ## Generic parts @@ -1012,7 +1014,7 @@ then mv "${CACHE}/${DISTRIBUTION}_${ARCHITECTURE}.tmp" "${CACHE}/${DISTRIBUTION}_${ARCHITECTURE}" fi -Upgrade_system "${CACHE}/${DISTRIBUTION}_${ARCHITECTURE}" || echo "W: If upgrading the system failed, try removing the cache for your distribution in /var/cache/container-tools" +Upgrade_system "${CACHE}/${DISTRIBUTION}_${ARCHITECTURE}" || echo "W: If upgrading the system failed, try removing the cache for your distribution in /var/cache/${PROJECT}/${PROGRAM}" Cleanup_system "${CACHE}/${DISTRIBUTION}_${ARCHITECTURE}" ## Specific parts @@ -1130,7 +1132,7 @@ fi # remove debconf temporary files rm --preserve-root --one-file-system -rf "${DEBCONF_TMPDIR}" -rmdir --ignore-fail-on-non-empty /tmp/container-tools 2>&1 || true +rmdir --ignore-fail-on-non-empty "/tmp/${SOFTWARE}" 2>&1 || true # Post hooks for FILE in "${HOOKS}/post-${SCRIPT}".* "${HOOKS}/${NAME}.post-${SCRIPT}" diff --git a/share/scripts/debconf.d/0001-preseed-file b/share/scripts/debconf.d/0001-preseed-file index 021dabf..59855e9 100755 --- a/share/scripts/debconf.d/0001-preseed-file +++ b/share/scripts/debconf.d/0001-preseed-file @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,7 +19,10 @@ set -e -CONFIG="/etc/container-tools/debconf" +PROJECT="open-infrastructure" +PROGRAM="container" + +CONFIG="/etc/${PROJECT}/${PROGRAM}/debconf" DEBCONF_NOWARNINGS="true" export DEBCONF_NOWARNINGS @@ -41,7 +43,7 @@ then elif [ "$(ls ${CONFIG}/*/${NAME}.cfg 2>/dev/null | wc -l)" -eq 1 ] then # user did not specify a pressed file, but there is 1 (and only 1) - # matching in a sub-directory of /etc/container-tools/debconf + # matching in a sub-directory of /etc/${PROJECT}/${PROGRAM}/debconf FILE="$(ls ${CONFIG}/*/${NAME}.cfg)" diff --git a/share/scripts/debconf.d/0001-preseed-file.templates b/share/scripts/debconf.d/0001-preseed-file.templates index 707da95..0c40dde 100644 --- a/share/scripts/debconf.d/0001-preseed-file.templates +++ b/share/scripts/debconf.d/0001-preseed-file.templates @@ -1,6 +1,6 @@ Template: cnt-debconf/title Type: title -Description: container-tools +Description: compute-tools Template: cnt-debconf/preseed-files Type: select diff --git a/share/scripts/debconf.d/0002-preseed-debconf b/share/scripts/debconf.d/0002-preseed-debconf index eede690..bcea53f 100755 --- a/share/scripts/debconf.d/0002-preseed-debconf +++ b/share/scripts/debconf.d/0002-preseed-debconf @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -50,14 +49,14 @@ do # add preseed file to debconf DEBCONF_PRESEED_FILES="${DEBCONF_PRESEED_FILES} ${PRESEED_FILE}" - if ! grep -qs '^ *container-tools *cnt-debconf/include-preseed-files' "${PRESEED_FILE}" + if ! grep -qs '^ *compute-tools *cnt-debconf/include-preseed-files' "${PRESEED_FILE}" then # preseed file has no includes continue fi # preseed file has includes - INCLUDE_PRESEED_FILES="$(grep '^ *container-tools *cnt-debconf/include-preseed-files' ${PRESEED_FILE} | awk '{ $1=$2=$3=""; print $0 }' | sed -e 's|,| |g')" + INCLUDE_PRESEED_FILES="$(grep '^ *compute-tools *cnt-debconf/include-preseed-files' ${PRESEED_FILE} | awk '{ $1=$2=$3=""; print $0 }' | sed -e 's|,| |g')" # FIXME: we're supporting only *ONE* include layer for now, so no nested/recursive includes just yet for FILE in ${INCLUDE_PRESEED_FILES} diff --git a/share/scripts/debconf.d/0003-debconf b/share/scripts/debconf.d/0003-debconf index c8ac8df..ed14130 100755 --- a/share/scripts/debconf.d/0003-debconf +++ b/share/scripts/debconf.d/0003-debconf @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ diff --git a/share/scripts/debconf.d/0003-debconf.templates b/share/scripts/debconf.d/0003-debconf.templates index e3dbc24..acc26f3 100644 --- a/share/scripts/debconf.d/0003-debconf.templates +++ b/share/scripts/debconf.d/0003-debconf.templates @@ -1,6 +1,6 @@ Template: cnt-debconf/title Type: title -Description: container-tools +Description: compute-tools Template: cnt-debconf/mode Type: select diff --git a/share/scripts/debootstrap b/share/scripts/debootstrap index b81ad91..7910ac3 100755 --- a/share/scripts/debootstrap +++ b/share/scripts/debootstrap @@ -1,6 +1,5 @@ #!/bin/sh -# container-tools - Manage systemd-nspawn containers # Copyright (C) 2014-2019 Daniel Baumann # # SPDX-License-Identifier: GPL-3.0+ @@ -20,9 +19,11 @@ set -e +PROJECT="open-infrastructure" +PROGRAM="container" SCRIPT="${0}" -HOOKS="/etc/container-tools/hooks" +HOOKS="/etc/${PROJECT}/${PROGRAM}/hooks" MACHINES="/var/lib/machines" Parameters () diff --git a/share/sudo/container-shell b/share/sudo/container-shell new file mode 100644 index 0000000..cd3f74d --- /dev/null +++ b/share/sudo/container-shell @@ -0,0 +1 @@ +container ALL=NOPASSWD: /usr/bin/container diff --git a/share/sudo/container-tools b/share/sudo/container-tools deleted file mode 100644 index cd3f74d..0000000 --- a/share/sudo/container-tools +++ /dev/null @@ -1 +0,0 @@ -container ALL=NOPASSWD: /usr/bin/container diff --git a/share/systemd/container-auto.service b/share/systemd/container-auto.service index 99decf6..4d7e10e 100644 --- a/share/systemd/container-auto.service +++ b/share/systemd/container-auto.service @@ -1,5 +1,5 @@ [Unit] -Description=container-tools automatic start and stop +Description=compute-tools automatic start and stop Documentation=man:container-auto After=network.target diff --git a/share/systemd/container@.service b/share/systemd/container@.service index 4a30ff6..9e9f720 100644 --- a/share/systemd/container@.service +++ b/share/systemd/container@.service @@ -1,6 +1,6 @@ [Unit] Description="Container: %i" -Documentation=man:container-tools +Documentation=man:compute-tools [Service] Type=simple -- cgit v1.2.3