diff options
Diffstat (limited to 'share')
27 files changed, 3498 insertions, 0 deletions
diff --git a/share/man/compute-tools.7 b/share/man/compute-tools.7 new file mode 100644 index 0000000..5bffba8 --- /dev/null +++ b/share/man/compute-tools.7 @@ -0,0 +1,194 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH COMPUTE-TOOLS 7 compute-tools "Open Infrastructure" +.SH NAME +compute-tools \- Manage systemd-nspawn containers +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH DESCRIPTION +.sp +[A Linux container] is an operating\-system\-level virtualization environment for +running multiple isolated Linux systems (containers) on a single Linux control +host. +.INDENT 0.0 +.INDENT 3.5 +\-\- Wikipedia (\fI\%https://en.wikipedia.org/wiki/LXC\fP) +.UNINDENT +.UNINDENT +.sp +\fBcompute\-tools\fP provides the system integration for managing containers using +systemd\-nspawn(1). +.SH DOWNLOAD +.nf +Upstream Releases: +\fI\%https://get.open\-infrastructure.net/software/compute\-tools/upstream\fP +.fi +.sp +.nf +Upstream Sources: +\fI\%https://git.open\-infrastructure.net/software/compute\-tools\fP +.fi +.sp +.nf +Debian Releases: +\fI\%https://get.open\-infrastructure.net/software/compute\-tools/debian\fP +.fi +.sp +.nf +Debian Sources: +\fI\%https://git.progress\-linux.org/users/daniel/debian/packages/open\-infrastructure\-compute\-tools\fP +.fi +.sp +.SH INSTALLATION +.SS Source +.nf +$ sudo apt install git make python3\-docutils dbus systemd\-container +$ git clone \fI\%https://git.open\-infrastructure.net/software/compute\-tools\fP +$ cd compute\-tools && sudo make install +.fi +.sp +.SS Debian 9 (stretch) and newer +.nf +$ sudo apt install compute\-tools +.fi +.sp +.SH DEVELOPMENT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +(\fI\%https://lists.open\-infrastructure.net/listinfo/software\fP). +.sp +Please base patches against the \(aqnext\(aq Git branch using common sense +(\fI\%https://www.kernel.org/doc/Documentation/SubmittingPatches\fP). +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH KNOWN LIMITATIONS +.sp +This version of compute\-tools currently do not work with systemd\-networkd and +depend on ifupdown. +.sp +Using overlay, the upper directory can not be an NFS mount due to limitations in +Linux\(aq overlay filesystem +(\fI\%https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/filesystems/overlayfs.txt\fP). +.SH USAGE +.INDENT 0.0 +.TP +.B Build a new container: +sudo container build \-n NAME +.TP +.B Start a container: +sudo container start \-n NAME +.TP +.B Stop a container: +sudo container stop \-n NAME +.TP +.B Remove a container: +sudo container remove \-n NAME +.TP +.B List container on the system: +sudo container list +.TP +.B Show container version: +container version +.UNINDENT +.sp +See container(1) for a list of all container commands. +.SH LINKS +.nf +* 2016\-02\-24: Systemd vs. Docker +.in +2 +(\fI\%https://lwn.net/Articles/676831/\fP) +.in -2 +.fi +.sp +.nf +* 2015\-06\-10: Systemd and containers +.in +2 +(\fI\%https://lwn.net/Articles/647634/\fP) +.in -2 +.fi +.sp +.nf +* 2014\-07\-07: Control groups +.in +2 +(\fI\%https://lwn.net/Articles/604609/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-11\-13: Systemd\-Nspawn is Chroot on Steroids [LinuxCon Europe] +.in +2 +(\fI\%https://www.youtube.com/watch?v=s7LlUs5D9p4\fP) +.in -2 +.fi +.sp +.nf +* 2013\-11\-03: Creating containers with systemd\-nspawn +.in +2 +(\fI\%https://lwn.net/Articles/572957/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-02\-06: Systemd lightweight containers +.in +2 +(\fI\%https://lwn.net/Articles/536033/\fP) +.in -2 +.fi +.sp +.nf +* 2013\-01\-04: Namespaces in operation +.in +2 +(\fI\%https://lwn.net/Articles/531114/\fP) +.in -2 +.fi +.sp +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-auto.1 b/share/man/container-auto.1 new file mode 100644 index 0000000..d3df5c4 --- /dev/null +++ b/share/man/container-auto.1 @@ -0,0 +1,110 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-AUTO 1 compute-tools "Open Infrastructure" +.SH NAME +container-auto \- Start/stop all container automatically at boot/shutdown +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer auto\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer auto\fP command starts or stops all container on the host system. +.SH OPTIONS +.sp +The following \fBcontainer auto\fP options are available: +.INDENT 0.0 +.TP +.B \-f, \-\-force: +Removing stray lock file if existing. +.TP +.B \-s, \-\-start: +Start all container on the host system. +.TP +.B \-t, \-\-stop: +Stop all container on the host system. +.UNINDENT +.SH EXAMPLES +.sp +Start all container on the host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container auto \-\-start +.UNINDENT +.UNINDENT +.sp +Stop all container on the host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container auto \-\-stop +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build-debconf.1 b/share/man/container-build-debconf.1 new file mode 100644 index 0000000..86c5058 --- /dev/null +++ b/share/man/container-build-debconf.1 @@ -0,0 +1,202 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-BUILD-DEBCONF 1 compute-tools "Open Infrastructure" +.SH NAME +container-build-debconf \- Build an advanced Debian based container with debconf +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build \-s debconf\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debconf\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s debian\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debian\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s progress\-linux\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s progress\-linux\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The debconf container build script uses debconf(1) to automatically build a +Debian based container. +.SS Scope +.sp +Note that this container build script can do a few things more than just +automatically debootstrap based on a preseed file. It also allows you to set a +root password, configure the network, install certain packages and execute +hooks. +.sp +But: this is \fInot\fP a replacement for a configuration management system (like +ansible, puppet, etc.). The intenion of this script is to build the initial +container to that extend that a configuration management system can take over. +.sp +As an analogy, think of debian\-installer: d\-i sets up your system to make it +ready to boot and connect to the network. Everything after that is out of scope. +Same goes for this script. +.SS Functions +.sp +This script performs the following configuration on top of a Debian based +system: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +network +.IP \(bu 2 +root password +.IP \(bu 2 +apt repositories +.IP \(bu 2 +\&... +.UNINDENT +.UNINDENT +.UNINDENT +.SS Modes +.sp +This container build script can be used under two different names: debian and +progress\-linux. +.sp +Alternative, calling it under the debconf name is equal to the debian mode. +.SS Preseeding +.sp +Hierarchy of Preseed Files: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +The debconf script can be fully preseeded. Such preseed files can include +one or more preseed files themselfs (currently, only one layer of includes +is supported, no nested or recursive includes). +.IP \(bu 2 +The general rule of \(aqthe later preseed file overwrites the earlier\(aq applies. +The debconf script reads the main preseed file (specified either on command +line or by debconf selection/input dialog) after any included preseed files +in there. +.IP \(bu 2 +That means that debconf values after the include statement in the main +preseed file can overwrite any values specified in the included preseed +files. +.UNINDENT +.UNINDENT +.UNINDENT +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-p, \-\-preseed\-file=\(aqFILE\(aq: +Specify the preseed file. +.UNINDENT +.SH EXAMPLES +.sp +Build a Debian based container: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s debian \-n debian.example.net +.UNINDENT +.UNINDENT +.sp +Build a Progress Linux container: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s progress\-linux \-n progress.example.net +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/config: +Container configuration files. +.TP +.B /usr/share/compute\-tools/build\-scripts: +Container build scripts. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation. +.TP +.B /var/lib/machines: +Container directory. +.TP +.B /var/cache/container: +Container cache directory. +.TP +.B /tmp/compute\-tools: +Container temporary directory. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build-debootstrap.1 b/share/man/container-build-debootstrap.1 new file mode 100644 index 0000000..4240bb5 --- /dev/null +++ b/share/man/container-build-debootstrap.1 @@ -0,0 +1,139 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-BUILD-DEBOOTSTRAP 1 compute-tools "Open Infrastructure" +.SH NAME +container-build-debootstrap \- Build a basic Debian based container with debootstrap or mmdebstrap +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build \-s debootstrap\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s debootstrap\fP [\(aqOPTIONS\(aq] +.fi +.sp +.nf +\fBcontainer build \-s mmdebstrap\fP [\(aqOPTIONS\(aq] +\fBcnt b \-s mmdebstrap\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The debootstrap container build script uses debootstrap(8) or mmdebstrap(1) +to build a Debian based container. +.sp +This script builds a pure Debian system with three modificiations: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +apt cache of packages downloaded during debootstrap is cleaned +.IP \(bu 2 +hostname is set (container name) in /etc/hostname +.IP \(bu 2 +root password is set (user specified or 16 random characters) +.UNINDENT +.UNINDENT +.UNINDENT +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-a, \-\-architecture=\(aqARCHITECTURE\(aq: +Specify the Debian architecture, defaults to the host systems architecture. +.TP +.B \-d, \-\-distribution=\(aqDISTRIBUTION\(aq: +Specify the Debian distribution, defaults to \(aqbullseye\(aq. +.TP +.B \-m, \-\-mirror=\(aqMIRROR\(aq: +Specify the Debian mirror, defaults to \(aq\fI\%https://deb.debian.org/debian\fP\(aq. +.TP +.B \-p, \-\-root\-password=\(aqPASSWORD\(aq: +Specify the root password, defaults to a random 16 character password. +.UNINDENT +.SH EXAMPLES +.sp +Build a Debian 11 (bullseye) based container with same architecture as the host +system using debootstrap: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s debootstrap \-n bullseye.example.net +.UNINDENT +.UNINDENT +.sp +Build a Debian 11 (bullseye) based container with different architecture as the +host system using mmdebstrap: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-s mmdebstrap \-n bullseye\-i386.example.net \-\- \-a i386 +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-build.1 b/share/man/container-build.1 new file mode 100644 index 0000000..dc0affc --- /dev/null +++ b/share/man/container-build.1 @@ -0,0 +1,160 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-BUILD 1 compute-tools "Open Infrastructure" +.SH NAME +container-build \- Build a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer build\fP [\(aqOPTIONS\(aq] +\fBcnt b\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer build\fP command builds a container based on a script. +.SS Scripts +.sp +The following build scripts are available: +.INDENT 0.0 +.TP +.B debootstrap: +Basic script to build Debian based container, see +container\-build\-debootstrap(1). +.TP +.B debconf: +Advanced script to automatically build Debian based container, see +container\-build\-debconf(1). +.TP +.B default: +Symlink (if existing) to a build script which is used if no script was +specified. On Debian based system this can be managed through +update\-alternatives(1), i.e. \(aqsudo update\-alternatives \-\-config +container_build\-script\(aq. +.UNINDENT +.SH OPTIONS +.sp +The following \fBcontainer build\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-c, \-\-capability=\(aqCAPABILITY\(aq: +Specify capabilities to grant, see capabilities(7). +.TP +.B \-d, \-\-drop\-capability=\(aqDROP_CAPABILITY\(aq: +Specify capabilities to drop, see capabilities(7). +.TP +.B \-s, \-\-script=\(aqSCRIPT\(aq: +Specify container build script, defaults to \(aqdebootstrap\(aq. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.TP +.B \-b, \-\-bind=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-write bind mounts, see systemd\-nspawn(1) \-\-bind option. +.TP +.B \-\-bind\-ro=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-only bind mounts, see systemd\-nspawn(1) \-\-bind\-ro +option. +.TP +.B \-\-cnt\-overlay=\(aqDIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED[;DIRECTORY_UPPER:DIRECTORY_LOWER:DIRECTORY_WORK:DIRECTORY_MERGED]\(aq: +Specify container overlay mounts, see Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.overlay\-options=\(aqOPTION1,OPTION2[;OPTION3,OPTION4]\(aq: +Specify container overlay mount options, see +Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.start=\(aqOPTION1[,OPTION2,...]\(aq: +Specify container start options, see container\-start(1). +.UNINDENT +.SH EXAMPLES +.sp +Build example.net container using debootstrap script: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-n example.net \-s debootstrap +.UNINDENT +.UNINDENT +.sp +Build example.net container using debconf script: +.INDENT 0.0 +.INDENT 3.5 +sudo container build \-n example.net \-s debconf +.UNINDENT +.UNINDENT +.sp +Build example.net container with the default build script and start it: +.INDENT 0.0 +.INDENT 3.5 +sudo container build,start \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-console.1 b/share/man/container-console.1 new file mode 100644 index 0000000..d8b7af2 --- /dev/null +++ b/share/man/container-console.1 @@ -0,0 +1,101 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-CONSOLE 1 compute-tools "Open Infrastructure" +.SH NAME +container-console \- Attach a console to a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer console\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer console\fP command attaches a console to a container. +.sp +While \(aqcontainer enter\(aq bypasses the login prompt and drops to a root shell, the +\(aqcontainer console\(aq command shows a full login prompt where any valid user and +password combination can be used. +.SH OPTIONS +.sp +The following \fBcontainer console\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +Attach console to example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container console \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-enter.1 b/share/man/container-enter.1 new file mode 100644 index 0000000..06752e8 --- /dev/null +++ b/share/man/container-enter.1 @@ -0,0 +1,101 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-ENTER 1 compute-tools "Open Infrastructure" +.SH NAME +container-enter \- Enter a container namespace +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer enter\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer enter\fP command enters a container namespace. +.sp +While \(aqcontainer console\(aq shows a full login prompt where any valid user and +password combination can be used, the \(aqcontainer enter\(aq command bypasses this +and drops to a root shell. +.SH OPTIONS +.sp +The following \fBcontainer enter\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +Enter to example.net container namespace: +.INDENT 0.0 +.INDENT 3.5 +sudo container enter \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-get-curl.1 b/share/man/container-get-curl.1 new file mode 100644 index 0000000..9aa02af --- /dev/null +++ b/share/man/container-get-curl.1 @@ -0,0 +1,172 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-GET-CURL 1 compute-tools "Open Infrastructure" +.SH NAME +container-get-curl \- Download a Debian based container by downloading a tarball over the network +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer get \-s curl\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The curl container download script uses curl(1) to download a tarball over the +network to create a Debian based container. +.sp +Depending on the tarball this script otherwise creates a pure Debian system +with three modificiations: +.INDENT 0.0 +.INDENT 3.5 +.INDENT 0.0 +.IP \(bu 2 +hostname is set (container name) in /etc/hostname +.IP \(bu 2 +systemd machine\-id is generated in /etc/machine\-id +.IP \(bu 2 +root password is set (user specified or 16 random characters) +.UNINDENT +.UNINDENT +.UNINDENT +.SS Container images +.sp +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. +.SH OPTIONS +.sp +The following script options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-a, \-\-architecture=\(aqARCHITECTURE\(aq: +Specify container architecture. +.TP +.B \-\-clean: +Remove container tarball after successful download. +.TP +.B \-p, \-\-root\-password=\(aqPASSWORD\(aq: +Specify the root password, defaults to a random 16 character password. +.TP +.B \-\-server=\(aqSERVER\(aq: +Specify the image server to download from, defaults to +\(aq\fI\%https://get.open\-infrastructure.net/system/container/debian\fP\(aq. +.TP +.B \-\-setup=\(aqSETUP\(aq: +Specify the setup image name to download, defaults to the value specified +through \-\-system using the setup.tar.${COMPRESSION} suffix (where +${COMPRESSION} is either lz, xz, or gz depending on compressor availability on +the host system). +.TP +.B \-\-system=\(aqSYSTEM\(aq: +Specify the system image name to download, defaults to +debian\-bullseye\-current_${ARCHITECTURE}.system.tar.${COMPRESSION} (where +${ARCHITECTURE} is the host systems architecture and ${COMPRESSION} either +lz, xz, or gz depending on compressor availability on the host system). +.UNINDENT +.SH EXAMPLES +.sp +Download a Debian 11 (bullseye) based container with same architecture as the host +system: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-s curl \-n bullseye.example.net +.UNINDENT +.UNINDENT +.sp +Download a Debian 11 (bullseye) based container with different architecture as the +host system: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-s curl \-n bullseye\-i386.example.net \-\- \-\-system debian\-bullseye\-current_i386.system.tar.xz +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/config: +Container configuration files. +.TP +.B /usr/share/compute\-tools/get\-scripts: +Container download scripts. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation. +.TP +.B /var/lib/machines: +Container directory. +.TP +.B /var/cache/container: +Container cache directory. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-get.1 b/share/man/container-get.1 new file mode 100644 index 0000000..8466e19 --- /dev/null +++ b/share/man/container-get.1 @@ -0,0 +1,148 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-GET 1 compute-tools "Open Infrastructure" +.SH NAME +container-get \- Download a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer get\fP [\(aqOPTIONS\(aq] +\fBcnt g\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer get\fP command downloads a container based on a script. +.SS Scripts +.sp +The following download scripts are available: +.INDENT 0.0 +.TP +.B curl: +Basic script to build Debian based container, see container\-create\-curl(1). +.TP +.B default: +Symlink (if existing) to a download script which is used if no script was +specified. On Debian based system this can be managed through +update\-alternatives(1), i.e. \(aqsudo update\-alternatives \-\-config +container_get\-script\(aq. +.UNINDENT +.SH OPTIONS +.sp +The following \fBcontainer get\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-c, \-\-capability=\(aqCAPABILITY\(aq: +Specify capabilities to grant, see capabilities(7). +.TP +.B \-d, \-\-drop\-capability=\(aqDROP_CAPABILITY\(aq: +Specify capabilities to drop, see capabilities(7). +.TP +.B \-s, \-\-script=\(aqSCRIPT\(aq: +Specify container build script, defaults to \(aqdebootstrap\(aq. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.TP +.B \-b, \-\-bind=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-write bind mounts, see systemd\-nspawn(1) \-\-bind option. +.TP +.B \-\-bind\-ro=\(aqDIRECTORY:DIRECTORY[:OPTIONS][;DIRECTORY:DIRECTORY[:OPTIONS]]\(aq: +Specify container read\-only bind mounts, see systemd\-nspawn(1) \-\-bind\-ro +option. +.TP +.B \-\-cnt\-overlay=\(aqDIRECTORY_LOWER:DIRECTORY_UPPER:DIRECTORY_WORK:DIRECTORY_MERGED[;DIRECTORY_UPPER:DIRECTORY_LOWER:DIRECTORY_WORK:DIRECTORY_MERGED]\(aq: +Specify container overlay mounts, see Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.overlay\-options=\(aqOPTION1,OPTION2[;OPTION3,OPTION4]\(aq: +Specify container overlay mount options, see +Documentation/filesystems/overlayfs.txt. +.TP +.B \-\-cnt.start=\(aqOPTION1[,OPTION2,...]\(aq: +Specify container start options, see container\-start(1). +.UNINDENT +.SH EXAMPLES +.sp +Create example.net container using curl script: +.INDENT 0.0 +.INDENT 3.5 +sudo container get \-n example.net \-s curl +.UNINDENT +.UNINDENT +.sp +Create example.net container with the default download script and start it: +.INDENT 0.0 +.INDENT 3.5 +sudo container get,start \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-info.1 b/share/man/container-info.1 new file mode 100644 index 0000000..8aa244f --- /dev/null +++ b/share/man/container-info.1 @@ -0,0 +1,118 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-INFO 1 compute-tools "Open Infrastructure" +.SH NAME +container-info \- Show specific information of a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer info\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer info\fP command shows specific information of a container. +.SH OPTIONS +.sp +The following \fBcontainer info\fP options are available, defaults to \(aq\-\-status +\-\-os \-\-ip\(aq: +.INDENT 0.0 +.TP +.B \-\-status: +Show container status (started|stopped|other). +.TP +.B \-\-os: +Show container operating system (FIXME: Debian only). +.TP +.B \-\-ip: +Show container IP address. +.UNINDENT +.SH EXAMPLES +.sp +Show example.net container status: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-status +.UNINDENT +.UNINDENT +.sp +Show example.net container operating system: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-os +.UNINDENT +.UNINDENT +.sp +Show example.net container IP address: +.INDENT 0.0 +.INDENT 3.5 +sudo container info \-n example.net \-\-ip +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-key.1 b/share/man/container-key.1 new file mode 100644 index 0000000..37f41ac --- /dev/null +++ b/share/man/container-key.1 @@ -0,0 +1,137 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-KEY 1 compute-tools "Open Infrastructure" +.SH NAME +container-key \- Manage GnuPG keyring for container operations +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer key\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer key\fP command manages the GnuPG keyring for container +operations. +.SH OPTIONS +.sp +The following \fBcontainer key\fP options are available: +.INDENT 0.0 +.TP +.B \-a, \-\-add=\(aqKEY_FILE|KEY_ID\(aq: +Add a key to the keyring. +.TP +.B \-l, \-\-list\(aq: +List keys in the keyring. +.TP +.B \-r, \-\-remove=\(aqKEY\(aq: +Remove a key from the keyring. +.UNINDENT +.SH EXAMPLES +.sp +Add a key to the keyring manually: +.INDENT 0.0 +.INDENT 3.5 +gpg \-\-keyserver hkps://keys.openpgp.org \-\-recv 0x55CF1BF986ABB9C7 +gpg \-\-armor \-\-export 0x55CF1BF986ABB9C7 | sudo container key \-\-add \- +.UNINDENT +.UNINDENT +.sp +Assisted adding of the same key: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-add 0x55CF1BF986ABB9C7 +.UNINDENT +.UNINDENT +.sp +Remove a key from the keyring: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-remove 0x55CF1BF986ABB9C7 +.UNINDENT +.UNINDENT +.sp +List keys in the keyring: +.INDENT 0.0 +.INDENT 3.5 +sudo container key \-\-list +.UNINDENT +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/keys: +Active container keyring. +.TP +.B /usr/share/compute\-tools/keys: +Inactive container keyring library. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-limit.1 b/share/man/container-limit.1 new file mode 100644 index 0000000..918fcd5 --- /dev/null +++ b/share/man/container-limit.1 @@ -0,0 +1,145 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-LIMIT 1 compute-tools "Open Infrastructure" +.SH NAME +container-limit \- Limit resources of a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer limit\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer limit\fP command limits resources available to a container at +runtime. +.SH OPTIONS +.sp +The following \fBcontainer limit\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.TP +.B \-\-blockio\-device\-weight=\(aqDEVICE WEIGHT\(aq: +Specify device specific blockio weight, see systemd.resource\-control(5). +.TP +.B \-\-blockio\-read\-bandwidth=\(aqDEVICE BYTES\(aq: +Specify device specific blockio read bandwidth, see +systemd.resource\-control(5). +.TP +.B \-b, \-\-blockio\-weight=\(aqWEIGHT\(aq: +Specify general blockio weight, see systemd.resource\-control(5). +.TP +.B \-\-blockio\-write\-bandwidth=\(aqDEVICE BYTES\(aq: +Specify device specific blockio write bandwidth, see +systemd.resource\-control(5). +.TP +.B \-c, \-\-cpu\-quota=\(aqQUOTA\(aq: +Specify CPU quota, see systemd.resource\-control(5). +.TP +.B \-\-cpu\-shares=\(aqSHARES\(aq: +Specify CPU shares, see systemd.resource\-control(5). +.TP +.B \-m, \-\-memory\-limit=\(aqBYTES\(aq: +Specify memory limit, see systemd.resource\-control(5). +.TP +.B \-t, \-\-tasks\-max=\(aqNUMBER\(aq: +Specify tasks max, see systemd.resource\-control(5). +.UNINDENT +.SH EXAMPLES +.sp +Set blockio weight for the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-blockio\-weight 100 +.UNINDENT +.UNINDENT +.sp +Set CPU quota for the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-cpu\-quota 10% +.UNINDENT +.UNINDENT +.sp +Set memory limit for the example.net container to 1GB: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-memory\-limit 1G +.UNINDENT +.UNINDENT +.sp +Set tasks max for the example.net container to 100: +.INDENT 0.0 +.INDENT 3.5 +sudo container limit \-n example.net \-\-tasks\-max 100 +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-list.1 b/share/man/container-list.1 new file mode 100644 index 0000000..9080158 --- /dev/null +++ b/share/man/container-list.1 @@ -0,0 +1,184 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-LIST 1 compute-tools "Open Infrastructure" +.SH NAME +container-list \- List container on the system +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer list\fP [\(aqOPTIONS\(aq] +\fBcnt ls\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer list\fP command lists container on the system. +.SH OPTIONS +.sp +The following \fBcontainer list\fP options are available, defaults to \(aq\-\-started +\-\-stopped\(aq: +.INDENT 0.0 +.TP +.B \-a, \-\-all: +List all available container (started, stopped, and other). +.TP +.B \-\-csv\-separator=\(aqSEPARATOR\(aq: +Specify custom CSV separator, defaults to \(aq,\(aq. +.TP +.B \-f, \-\-format=\(aqFORMAT\(aq: +Use format to list container. Currently available formats are \(aqcli\(aq (default), +\(aqcsv\(aq, \(aqjson\(aq, \(aqnwdiag\(aq, \(aqshell\(aq, \(aqsh\(aq, \(aqyaml\(aq, or \(aqxml\(aq. +.TP +.B \-h, \-\-host=\(aqHOSTNAME\(aq: +List only container that are enabled for automatic start on the specified +hostname. Defaults to list containers of the local system only. Using \(aqall\(aq +shows all container regardless of any automatic start configuration. +.TP +.B \-\-nwdiag\-color=\(aqCOLOR\(aq: +Specify custom nwdiag color for the host box, defaults to \(aq#3465a4\(aq. +.TP +.B \-\-nwdiag\-label=\(aqLABEL\(aq: +Specify custom nwdiag label for the diagram, defaults to empty. +.TP +.B \-o, \-\-other: +List only container that are not enable for automatic start on the current +system. +.TP +.B \-s, \-\-started: +List only started container. +.TP +.B \-t, \-\-stopped: +List only stopped container. +.UNINDENT +.SH EXAMPLES +.sp +List all started and stopped containers of the local system: +.INDENT 0.0 +.INDENT 3.5 +sudo container list +.UNINDENT +.UNINDENT +.sp +List all started and other containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-s \-o +.UNINDENT +.UNINDENT +.sp +Create a CSV export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f csv +.UNINDENT +.UNINDENT +.sp +Create a JSON export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f json +.UNINDENT +.UNINDENT +.sp +Create a nwdiag export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f nwdiag +.UNINDENT +.UNINDENT +.sp +Create a SVG image via nwdiag of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f nwdiag | nwdiag \-T svg \-o cnt\-list.svg \- +.UNINDENT +.UNINDENT +.sp +Create a shell export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f shell +sudo container list \-f sh +.UNINDENT +.UNINDENT +.sp +Create a YAML export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f yaml +.UNINDENT +.UNINDENT +.sp +Create a XML export of all started and stopped containers: +.INDENT 0.0 +.INDENT 3.5 +sudo container list \-f xml +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-log.1 b/share/man/container-log.1 new file mode 100644 index 0000000..7e00423 --- /dev/null +++ b/share/man/container-log.1 @@ -0,0 +1,128 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-LOG 1 compute-tools "Open Infrastructure" +.SH NAME +container-log \- Show container log +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer log\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer log\fP command shows the container log. +.SH OPTIONS +.sp +The following \fBcontainer log\fP options are available: +.INDENT 0.0 +.TP +.B \-d, \-\-date: +Show only log entries of the specified date as \(aqYYYY\-MM\-DD\(aq or a date range like \(aqtoday\-7\(aq. +.TP +.B \-n, \-\-name: +Show only log entries for the specified container. +.UNINDENT +.SH EXAMPLES +.sp +Show all log entries: +.INDENT 0.0 +.INDENT 3.5 +sudo container log +.UNINDENT +.UNINDENT +.sp +Show only log entries of today: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d today +.UNINDENT +.UNINDENT +.sp +Show only log entries of yesterday: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d yesterday +.UNINDENT +.UNINDENT +.sp +Show all log entries of the example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-n example.net +.UNINDENT +.UNINDENT +.sp +Show only log entries of the example.net container of the last 30 days: +.INDENT 0.0 +.INDENT 3.5 +sudo container log \-d today\-30 \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-move.1 b/share/man/container-move.1 new file mode 100644 index 0000000..3e06a85 --- /dev/null +++ b/share/man/container-move.1 @@ -0,0 +1,111 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-MOVE 1 compute-tools "Open Infrastructure" +.SH NAME +container-move \- Rename a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer move\fP [\(aqOPTIONS\(aq] +\fBcnt mv\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer move\fP commands renames a container. +.SH OPTIONS +.sp +The following \fBcontainer move\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-new=\(aqNAME\(aq: +Specify new container name. +.TP +.B \-f, \-\-force: +Do not prompt before moving. +.TP +.B \-o, \-\-old: +Specify old container name. +.UNINDENT +.SH EXAMPLES +.sp +Rename example.net container to example.org: +.INDENT 0.0 +.INDENT 3.5 +sudo container move \-n example.org \-o example.net +.UNINDENT +.UNINDENT +.sp +Rename example.net container to example.org without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container move \-n example.org \-o example.net \-f +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-remove.1 b/share/man/container-remove.1 new file mode 100644 index 0000000..135a121 --- /dev/null +++ b/share/man/container-remove.1 @@ -0,0 +1,128 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-REMOVE 1 compute-tools "Open Infrastructure" +.SH NAME +container-remove \- Remove a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer remove\fP [\(aqOPTIONS\(aq] +\fBcnt rm\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer remove\fP command removes a container. +.SH OPTIONS +.sp +The following \fBcontainer remove\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will remove all stopped container. +.TP +.B \-\-allow\-stop: +Stop container prior removal. +.TP +.B \-f, \-\-force: +Do not prompt before removal. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Remove example.net container from the system: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net +.UNINDENT +.UNINDENT +.sp +Remove example.net container from the system without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net \-f +.UNINDENT +.UNINDENT +.sp +Remove a running container from the system, without prompt: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n example.net \-f \-\-allow\-stop +.UNINDENT +.UNINDENT +.sp +Remove all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container remove \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-restart.1 b/share/man/container-restart.1 new file mode 100644 index 0000000..2dd6411 --- /dev/null +++ b/share/man/container-restart.1 @@ -0,0 +1,108 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-RESTART 1 compute-tools "Open Infrastructure" +.SH NAME +container-restart \- Restart a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer restart\fP [\(aqOPTIONS\(aq] +\fBcnt rs\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer restart\fP command restarts a container. +.SH OPTIONS +.sp +The following \fBcontainer restart\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will restart all started container. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Restart example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container restart \-n example.net +.UNINDENT +.UNINDENT +.sp +Restart all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container restart \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-run.1 b/share/man/container-run.1 new file mode 100644 index 0000000..628e96d --- /dev/null +++ b/share/man/container-run.1 @@ -0,0 +1,106 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-RUN 1 compute-tools "Open Infrastructure" +.SH NAME +container-run \- Execute commands in a container namespace +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer run\fP [\(aqOPTIONS\(aq] \-\- \(aqCOMMAND\(aq|"COMMANDS" +\fBcnt r\fP [\(aqOPTIONS\(aq] \-\- \(aqCOMMAND\(aq|"COMMANDS" +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer run\fP command executes arbitrary commands as root in a container +namespace. +.SH OPTIONS +.sp +The following \fBcontainer run\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.UNINDENT +.SH EXAMPLES +.sp +Run \(aqhostname\(aq in example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container run \-n example.net \-\- hostname +.UNINDENT +.UNINDENT +.sp +Create and delete a file in example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container run \-n example.net \-\- \(aqtouch /tmp/foo && rm \-f /tmp/foo\(aq +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-shell.1 b/share/man/container-shell.1 new file mode 100644 index 0000000..900cd7f --- /dev/null +++ b/share/man/container-shell.1 @@ -0,0 +1,171 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-SHELL 1 compute-tools "Open Infrastructure" +.SH NAME +container-shell \- Manage systemd-nspawn containers (shell) +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer\-shell\fP [\(aqOPTIONS\(aq] +\fBcntsh\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +compute\-tools provides the system integration for managing containers using +systemd\-nspawn. +.SS Usage +.sp +Although the \fBcontainer\-shell\fP can be started from a running system like any +other program, the main intend is to use the \fBcontainer\-shell\fP via SSH. That +way otherwise unprivileged users have possibility to manage containers without +needing a regular shell login on the container server. +.sp +For usage over SSH a unprivileged user should be created: +.nf + +.in +2 +sudo adduser \-\-gecos "compute\-tools,,," \e +.in +2 +\-\-home /var/lib/open\-infrastructure/container\-shell \e +\-\-shell /usr/bin/container\-shell +.in -2 +.in -2 +.fi +.sp +.sp +The container\-shell can then be allowed for specific SSH keys via +/var/lib/compute\-tools/container\-shell/.ssh/authorized_keys like so: +.nf + +.in +2 +command="/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +.in +2 +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SS Restricted shell +.sp +The container\-shell by default grants any user that has access to it to use all available container commands. +.sp +Through two corresponding environment variables users can be allowed or disallowed to use specific container commands. +In connection with SSH this makes it possible to grant certain SSH keys (and by that, users) privileges to operate container +servers without having to give them root access, a login shell at all and prevents them from doing things they are not trusted to do. +.SS Example (blacklisting) +.sp +In order to allow all commands except for removing and stopping containers, the +following variable can be used: +.nf + +.in +2 +command="CONTAINER_COMMANDS_DISABLE=\(aqremove stop\(aq \e +.in +2 +/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SS Example (whitelisting) +.sp +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: +.nf + +.in +2 +command="CONTAINER_COMMANDS_ENABLE=\(aqlist version\(aq \e +.in +2 +/usr/bin/container\-shell",no\-port\-forwarding,no\-X11\-forwarding,\e +no\-agent\-forwarding,no\-pty ssh\-ed25519 [...] +.in -2 +.in -2 +.fi +.sp +.SH COMMANDS +.sp +All container commands are available, see container(1). Additionally, the +following commands are specific to container\-shell: +.INDENT 0.0 +.TP +.B about: +Shows introduction (manpage). +.TP +.B help: +Shows available commands within the container\-shell. +.TP +.B help COMMAND: +Shows help (manpage) for a specific container command. +.TP +.B logout, exit: +Exits container\-shell. +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-start.1 b/share/man/container-start.1 new file mode 100644 index 0000000..4e70bbb --- /dev/null +++ b/share/man/container-start.1 @@ -0,0 +1,111 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-START 1 compute-tools "Open Infrastructure" +.SH NAME +container-start \- Start a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer start\fP [\(aqOPTIONS\(aq] +\fBcnt s\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer start\fP command starts a container. +.SH OPTIONS +.sp +The following \fBcontainer start\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.TP +.B \-f, \-\-force\(aq: +Removing stray lock file if existing. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Start example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container start \-n example.net +.UNINDENT +.UNINDENT +.sp +Start all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container start \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-status.1 b/share/man/container-status.1 new file mode 100644 index 0000000..3b57c25 --- /dev/null +++ b/share/man/container-status.1 @@ -0,0 +1,98 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-STATUS 1 compute-tools "Open Infrastructure" +.SH NAME +container-status \- Show container status +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer status\fP [\(aqOPTIONS\(aq] +\fBcnt st\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer status\fP command displays the status of a container. +.SH OPTIONS +.sp +The following \fBcontainer status\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH EXAMPLES +.sp +show status of example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container status \-n example.net +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-stop.1 b/share/man/container-stop.1 new file mode 100644 index 0000000..4dd8886 --- /dev/null +++ b/share/man/container-stop.1 @@ -0,0 +1,119 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-STOP 1 compute-tools "Open Infrastructure" +.SH NAME +container-stop \- Stop a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer stop\fP [\(aqOPTIONS\(aq] +\fBcnt t\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer stop\fP command stops a container by running the proper shutdown +sequence. +.SH OPTIONS +.sp +The following \fBcontainer stop\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will stop all started container. +.TP +.B \-f, \-\-force: +Instead of running the proper shutdown sequence, terminate all processes of the container imediatly. +.TP +.B \-v, \-\-verbose: +Explain what is being done. +.UNINDENT +.SH EXAMPLES +.sp +Shutdown example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n example.net +.UNINDENT +.UNINDENT +.sp +Immediately stop example.net container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n example.net \-f +.UNINDENT +.UNINDENT +.sp +Stop all container: +.INDENT 0.0 +.INDENT 3.5 +sudo container stop \-n ALL +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-top.1 b/share/man/container-top.1 new file mode 100644 index 0000000..5d1d325 --- /dev/null +++ b/share/man/container-top.1 @@ -0,0 +1,95 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-TOP 1 compute-tools "Open Infrastructure" +.SH NAME +container-top \- Dynamic list container on the system +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer top\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer top\fP command dynamically lists container on the system. +.SH OPTIONS +.sp +The following \fBcontainer top\fP options are available, defaults to \(aq\-\-delay 1\(aq: +.INDENT 0.0 +.TP +.B \-d, \-\-delay=\(aqSECONDS[.TENTHS]\(aq: +Specifies the delay between screen updates, defaults to \(aq1\(aq. +.UNINDENT +.SH EXAMPLES +.INDENT 0.0 +.TP +.B Dynamically list containers of the local system: +sudo container top +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-update.1 b/share/man/container-update.1 new file mode 100644 index 0000000..60b58ce --- /dev/null +++ b/share/man/container-update.1 @@ -0,0 +1,135 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-UPDATE 1 compute-tools "Open Infrastructure" +.SH NAME +container-update \- Update the packages installed in a container +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer update\fP [\(aqOPTIONS\(aq] +\fBcnt u\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer update\fP command updates packages installed in a container. +.SH OPTIONS +.sp +The following \fBcontainer update\fP options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. Specifying \(aqALL\(aq will start all stopped container. +.TP +.B \-f, \-\-full\-upgrade: +Runs an additional \(aqapt full\-upgrade\(aq after \(aqapt upgrade\(aq. +.TP +.B \-r, \-\-autoremove: +Runs an additional \(aqapt autoremove\(aq after \(aqapt upgrade\(aq. +.TP +.B \-p, \-\-purge: +Passing \(aq\-\-purge\(aq to \(aqapt autoremove\(aq. +.TP +.B \-y|\-\-yes: +Passing \(aqyes\(aq to all questions asked by the package manager. +.UNINDENT +.SH EXAMPLES +.sp +Update example.net container (apt update && apt upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net +.UNINDENT +.UNINDENT +.sp +Update example.net container without asking questions (apt update && apt \-\-yes +upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net \-y +.UNINDENT +.UNINDENT +.sp +Full update of example.net container without asking questions (apt update && +apt \-\-yes upgrade && apt \-\-yes full\-upgrade): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n example.net \-f \-y +.UNINDENT +.UNINDENT +.sp +Full update of all container on the host, with asking questions and +purging unused packages (apt update && apt upgrade && apt full\-upgrade && apt +autoremove): +.INDENT 0.0 +.INDENT 3.5 +sudo container update \-n ALL \-f \-r \-p \-y +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container-version.1 b/share/man/container-version.1 new file mode 100644 index 0000000..223327c --- /dev/null +++ b/share/man/container-version.1 @@ -0,0 +1,92 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER-VERSION 1 compute-tools "Open Infrastructure" +.SH NAME +container-version \- Show container version +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer version\fP [\(aqOPTIONS\(aq] +.fi +.sp +.SH DESCRIPTION +.sp +The \fBcontainer version\fP command shows the container version number. +.SH OPTIONS +.sp +The \fBcontainer version\fP command has no options. +.SH EXAMPLES +.sp +Show container version: +.INDENT 0.0 +.INDENT 3.5 +container version +.UNINDENT +.UNINDENT +.SH SEE ALSO +.nf +compute\-tools(7), +container(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/man/container.1 b/share/man/container.1 new file mode 100644 index 0000000..3a154ef --- /dev/null +++ b/share/man/container.1 @@ -0,0 +1,182 @@ +.\" Open Infrastructure: compute-tools +.\" +.\" Copyright (C) 2014-2021 Daniel Baumann <daniel.baumann@open-infrastructure.net> +.\" +.\" 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 <https://www.gnu.org/licenses/>. +.\" +. +.TH CONTAINER 1 compute-tools "Open Infrastructure" +.SH NAME +container \- Manage systemd-nspawn containers +. +.nr rst2man-indent-level 0 +. +.de1 rstReportMargin +\\$1 \\n[an-margin] +level \\n[rst2man-indent-level] +level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] +- +\\n[rst2man-indent0] +\\n[rst2man-indent1] +\\n[rst2man-indent2] +.. +.de1 INDENT +.\" .rstReportMargin pre: +. RS \\$1 +. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] +. nr rst2man-indent-level +1 +.\" .rstReportMargin post: +.. +.de UNINDENT +. RE +.\" indent \\n[an-margin] +.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] +.nr rst2man-indent-level -1 +.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] +.in \\n[rst2man-indent\\n[rst2man-indent-level]]u +.. +.SH SYNOPSIS +.nf +\fBcontainer\fP \(aqCOMMAND\(aq [\(aqOPTIONS\(aq] +\fBcontainer\fP \(aqCOMMAND1\(aq,\(aqCOMMAND2\(aq,... \(aqCOMMANDn\(aq +.fi +.sp +.SH DESCRIPTION +.sp +compute\-tools provides the system integration for managing containers using +systemd\-nspawn. +.SH OPTIONS +.sp +The following \fBcontainer\fP common options are available: +.INDENT 0.0 +.TP +.B \-n, \-\-name=\(aqNAME\(aq: +Specify container name. +.UNINDENT +.SH COMMANDS +.sp +The following \fBcontainer\fP commands are available: +.INDENT 0.0 +.TP +.B build: +Build a new container, see container\-build(1). +.TP +.B start: +Start a container, see container\-start(1). +.TP +.B restart: +Restart a container, see container\-restart(1). +.TP +.B stop: +Stop a container, see container\-stop(1). +.TP +.B remove: +Remove a container, see container\-remove(1). +.TP +.B move: +Rename a container, see container\-move(1). +.TP +.B console: +Attach console to a container, see container\-console(1). +.TP +.B enter: +Enter a container namespace, see container\-enter(1). +.TP +.B run: +Execute commands in a container namespace, see container\-run(1). +.TP +.B info: +Show specific information of a container, see container\-info(1). +.TP +.B key: +Manage GnuPG keyring for container operations, see container\-key(1). +.TP +.B limit: +Limit resources of a container, see container\-limit(1). +.TP +.B list: +List container on the system, see container\-list(1). +.TP +.B log: +Show container log, see container\-log(1). +.TP +.B status: +Show container status, see container\-status(1). +.TP +.B top: +Dynamic list of container on the system, see container\-top(1). +.TP +.B update: +Update the packages installed in a container. +.TP +.B version: +Show container version, see container\-version(1). +.UNINDENT +.SH FILES +.sp +The following files are used: +.INDENT 0.0 +.TP +.B /etc/compute\-tools/container.conf, /etc/compute\-tools/container.conf.d/*.conf: +Container configuration files. +.TP +.B /usr/bin/container, /usr/bin/cnt: +Container program. +.TP +.B /usr/bin/container\-shell, /usr/bin/cntsh: +Container shell program. +.TP +.B /usr/libexec/container: +Container commands. +.TP +.B /usr/share/compute\-tools/: +Container shared data. +.TP +.B /usr/share/doc/compute\-tools: +Container documentation files. +.TP +.B /var/cache/container: +Container cache directory. +.TP +.B /var/lib/machines: +Container root directory. +.TP +.B /var/log/compute\-tools: +Container log files. +.UNINDENT +.SH SEE ALSO +.nf +machinectl(1), +systemd\-nspawn(1). +.fi +.sp +.SH HOMEPAGE +.sp +More information about compute\-tools and the Open Infrastructure project can be +found on the homepage (\fI\%https://open\-infrastructure.net\fP). +.SH CONTACT +.sp +Bug reports, feature requests, help, patches, support and everything else are +welcome on the Open Infrastructure Software Mailing List +<\fI\%software@lists.open\-infrastructure.net\fP>. +.sp +Debian specific bugs can also be reported in the Debian Bug Tracking System +(\fI\%https://bugs.debian.org\fP). +.SH AUTHORS +.sp +compute\-tools were written by Daniel Baumann +<\fI\%daniel.baumann@open\-infrastructure.net\fP> and others. +. diff --git a/share/needrestart/container@.service b/share/needrestart/container@.service new file mode 100755 index 0000000..c52d3c2 --- /dev/null +++ b/share/needrestart/container@.service @@ -0,0 +1,3 @@ +#!/bin/sh + +exit 0 |