2022-10-15 Daniel Baumann * Releasing version 20221015. [ Daniel Baumann ] * Removing machine-id from cache to fix re-using it amongst all generated containers, thanks to Sakirnth Nagarasa . * Correcting a few formating errors in changelog. 2022-10-02 Daniel Baumann * Releasing version 20221002. [ Daniel Baumann ] * Adding force and interactive options to container restart command. * Updating license with newer GPL-3 version containing https instead of http links. * Replacing explicit container command with variable in container main wrapper. * Correcting distclean target in makefile. * Also passing explicit directory output-format to mmdebstrap in build scripts. * Also passing root as sandbox user to mmdebstrap in build scripts. 2022-07-21 Daniel Baumann * Releasing version 20220721. [ Daniel Baumann ] * Returning all ip addresses in cnt info command. * Correcting container info command to report IP addresses of stopped container. * Handling multiple IP addresses in container info command the same way for stopped containers as for started ones. * Adding lazy detection in container info command for Debian 12 (booworm). 2022-07-04 Daniel Baumann * Releasing version 20220704. [ Daniel Baumann ] * Adding release related targets in Makefile. * Updating links about related articles in compute-tools manpage. * Reverting adding LinkLocalAddressing=no to ipv6 interfaces as its only desirable on container bridges but breaks a few other things in normal containers. 2022-06-05 Daniel Baumann * Releasing version 20220605. * Backward incompatible changes: - The container stop command is now interactive by default, use 'container stop --force' / 'cnt stop -f' instead. [ Daniel Baumann ] * Correcting container status bash-completion to complete on all containers rather than only stopped ones. * Using variables in directory paths in container key command. * Adding default interactive mode for container stop command. * Renaming force option in container stop command to kill in order to properly separate the three different stop modi (interactive, force, kill). * Tracking container state in run files in /var/lib/compute-tools. * Automatically restoring previous state after reboot by using last-on/last-off config options, thanks to Sakirnth Nagarasa for the use-case and idea. * Setting default for cnt.auto to last-on in debconf build scripts. 2022-06-04 Daniel Baumann * Releasing version 20220604. [ Daniel Baumann ] * Adding --name option in container-info manpage. * Adding missing dhcp option in select question of the debconf build script. * Adding new 'stub' network interface method in debconf build-script, thanks to Sakirnth Nagarasa for the use-case and idea. * Adding LinkLocalAddressing=no to ipv6 interfaces. 2022-05-22 Daniel Baumann * Releasing version 20220522. [ Daniel Baumann ] * Fixing copy&paste mistake in systemd-network run-files handling. 2022-05-09 Daniel Baumann * Releasing version 20220509. [ Daniel Baumann ] * Correcting wrong preseed-file handling for new links directory in container build script. 2022-05-08 Daniel Baumann * Releasing version 20220508. [ Daniel Baumann ] * Correcting off-by-one error when warning about too long veth interface names in container start commend. * Adding comments about debconf hierarchy in debconf build script. * Using versioned sort when sorting debconf templates. * Excluding /etc/compute-tools/debconf/links from being shown in preseed file selection dialog to declutter automatization symlinks from real templates. * Explicitly prefering links subdirectory over other locations withint debconf hierarchy in debconf build scripts. 2022-05-05 Daniel Baumann * Releasing version 20220505. [ Daniel Baumann ] * Adding container rebuild command. * Correcting wrong shortlink for container restart command (rs instead of rt). * Updating copyright notices for 2022. * Showing all IP address for stopped containers in container list command. * Supporting both ifupdown and systemd-networkd for the time being, depending on the existence of /etc/network/interfaces. * Readding old ifupdown documentation for the time being. 2022-04-30 Daniel Baumann * Releasing version 20220430. [ Simon Spöhel ] * Updating documentation for systemd-networkd. [ Daniel Baumann ] * Actually passing through SSH_CLIENT variable to enable powerline-prompt in container enter command. * Listing all IP addresses in container list command. 2022-04-28 Daniel Baumann * Releasing version 20220428. [ Simon Spöhel ] * Using systemd-networkd to manage veth interfaces on host. 2021-12-31 Daniel Baumann * Releasing version 20211231. [ Daniel Baumann ] * Adding interactive option to container update command to ease skipping containers. * Making name argument mandatory in container update command. 2021-11-17 Daniel Baumann * Releasing version 20211117. [ Daniel Baumann ] * Adding complete debconf envars in container update command. * Passing fix-missing to apt upgrade in container update command. 2021-11-16 Daniel Baumann * Releasing version 20211116. [ Daniel Baumann ] * Adding comment about using grep to de-colorize apt messages in container update command. * Making container update command work entirely non-interactive. * Updating notifications in container update command. * Refactoring notification in container update command. * Adding notificiations for autoremovals in container update command. 2021-11-15 Daniel Baumann * Releasing version 20211115. [ Daniel Baumann ] * Speeding up full-upgrades in container update command by removing redundant upgrade step. * Preparing update notifications handling in container update command. * Adding notification handling in container update command. 2021-11-13 Daniel Baumann * Releasing version 20211113. [ Daniel Baumann ] * Replacing individual needrestart overrides by globally blacklisting container-tools service units. 2021-11-03 Daniel Baumann * Releasing version 20211103. [ Daniel Baumann ] * Adding needrestart restart scripts. * Enabling automatic needrestart blacklisting for containers. 2021-11-02 Daniel Baumann * Releasing version 20211102. [ Daniel Baumann ] * Adding 'exit' in debconf build script, thanks to Katharina. * Sorting preseed-file options in debconf build script. * Renaming internal config variable to more suitable debconf in debconf build script. * Also removing config file stub when exiting debconf build script. 2021-08-04 Daniel Baumann * Releasing version 20210804. [ Daniel Baumann ] * Updating container update options in bash-completion. * Fixing full-upgrade option in container update command. * Harmonizing usage messages over all container commands with manpage references. * Harmonizing parameter and usage in container build command. 2021-07-27 Daniel Baumann * Releasing version 20210727. [ Daniel Baumann ] * Adding backward incompatible changes of the previous release to changelog. * Correcting synopsis in container-run manpage. * Adding container update command. * Also adding notifications for container get command in container main program. * Suffixing keys with keyid in container keyring samples for transparency and uniqueness of the keys. * Adding manpage references in usage message in main container program. * Hardening quoting in container main program. * Supporting /etc/compute-tools/container.conf.d. * Adding boliderplate variables in post-start.chown-nvidia.sh example hook for consistency. 2021-07-26 Daniel Baumann * Releasing version 20210726. * Backward incompatible changes: - The container create command has been renamed to 'build'. - The container create script using curl is now a 'get' script for the new container get command. [ Daniel Baumann ] * Harmonizing formating of default values in manpages. * Harmonizing formating of URL in homepage section in manpages. * Correcting spelling typos in documentation files. * Adding reference to manpage in 'no such container command' error message. * Adding check for writable gpg directory in container key command. * Updating container-image example build script for current debian releases. * Renaming container create command to container build. * Making previous container curl create script a container get script. * Adding container get command. * Creating empty keyring directory in Makefile. * Adding example public keys. * Updating default keyserver for container key command. * Updating example key in container key manpage examples. * Adding sensible default lookups for container key bash-completion. * Speeding up container list command by not gathering IP addresses for output format that don't need it. * Speeding up container list command by optimizing IP address gathering. * Support fetching remote keys from keyserver in container key command. * Support fetching local keys from keyring library in container key command. * Using sig instead of sign as gpg signature extension for container images. 2021-07-25 Daniel Baumann * Releasing version 20210725. [ Daniel Baumann ] * Updating build relevant stuff to move from asciidoc to rst for manpage generation. * Migrationg manpages from asciidoc to rst. * Updating ssh public-key references in container-shell manpage examples. * Updating references to the current Debian release in manpages for Debian 11 (bullseye). * Updating build-depends listed in compute-tools manpage. * Prefixing generated manpages with boiler-plate header. * Injecting compute-tools version into manpage headers. 2021-07-24 Daniel Baumann * Releasing version 20210724. [ Daniel Baumann ] * Removing note about ipv4 forwarding, this is not actually required (anymore). * Correcting wording in host setup documentation. * Adding @FILE@ replacement variables in preseed files. * Also removing lock file when force-stopping a container. * Exporting IP variables to be used in host commands. * Using lower-case filename for host-setup documentation. * Improving section titles in host-setup documentation. * Harmonizing first line in comments of non-shebang files. * Using fixme rather than todo in source files. * Improving comments in debootstrap script. 2021-06-30 Daniel Baumann * Releasing version 20210630. [ Daniel Baumann ] * Reverting openvswitch, not really ready yet. 2021-06-29 Daniel Baumann * Releasing version 20210629. * Backward incompatible changes: - The networking integration on the container host depended on ifupdown. Now, to support KVM as an additional backend alongside systemd-nspawn in compute-tools, we're switching in this version exclusively to openvswitch. - Moving from ifupdown to openvswitch to manage the bridges requires manual re-configuration of the networking stack on the host, otherwise no container will continue to have network access. - Configuration examples for systemd-networkd (recommended) on the host to use openvswitch are documented in HOST-SETUP.txt. [ Simon Spöhel ] * Using openvswitch instead of linux bridges. * Updating documentation for openvswitch. 2021-06-28 Daniel Baumann * Releasing version 20210628. [ Daniel Baumann ] * Using dpkg selection to check package availability in debconf container create script, rather than to rely on dpkg internal files. * Updating unit file for systemd 246 wrt/ StandardError and StandardOutput options. [ Katharina Drexel ] * Prefering mmdebstrap to debootstrap in debconf script. * Integrating mmdebstrap in debconf script. [ Daniel Baumann ] * Setting TERM in systemd container service files to improve machinectl login. * Removing undesirable --verbose option when calling mmdebstrap in debconf container create script. * Allowing to specify cnt.start=force in container config to ease fencing with pacemaker/corosync. * Using cnt run to determine IP addresses in container list. * Adding initial container info command. * Handling container run command aequivalent to container enter in bash-completion. * Using container-specific user-variable when logging container commands before falling back to system environment. 2021-04-11 Daniel Baumann * Releasing version 20210411. * Backward incompatible changes: - all path have been shortened in preparation for additional backends alongside systemd-nspawn: The only user visible is the configuration directory: new: /etc/open-infrastructure/container old: /etc/compute-tools [ Daniel Baumann ] * Moving command files from /usr/lib to /usr/libexec. * Moving config files from /etc/open-infrastructure to /etc/compute-tools. * Using /usr/libexec/container instead of /usr/libexec/open-infrastructure/container. * Using /usr/share/compute-tools instead of /usr/share/open-infrastructure/container. * Using /var/log/compute-tools instead of /var/log/open-infrastructure. * Using /var/cache/container instead of /var/cache/open-infrastructure/container. * Making hook to git-pull debconf files work recursively. * Harmonizing initial variables in curl and debconf container create scripts for consistency. * Updating copyright in bash-completion, it got re-written from scratch years ago. * Adding hook support to container log command for consistency. * Cosmetically improving output of test target. * Adding shellcheck in test target (but not failing yet on it). * Removing superfluous whitespace in changelog. * Removing dpkg hack for progress-linux in debconf container create script, not needed for buster and newer anymore. * Removing base-files hack for progress-linux in debconf container create script, not needed for buster and newer anymore. * Removing readline hack for progress-linux in debconf container create script, not needed for buster and newer anymore. * Removing sysvinit hack for progress-linux in debconf container create script, not needed for buster and newer anymore. * Removing stretch support from debconf container create script. * Using https for security.debian.org in container create related items. * Using https instead of http in all comments. * Adding support for Debian bookworm in container debconf create script. * Synchronising versioning number for progress-linux releases in debconf container create script. * Updating preseed examples for debconf container scripts to bullseye. 2021-01-01 Daniel Baumann * Releasing version 20210101. [ Daniel Baumann ] * Adding container run command to execute programs within containers. * Cleaning up and harmonizing verbose output for container remove, restart, start, and stop commands. * Expanding host-setup documentation about ipv4/ipv6 dual-stack bridge configuration. * Switching redirector address for progress-linux. * Updating copyright notices for 2021. 2020-10-30 Daniel Baumann * Releasing version 20201030. [ Daniel Baumann ] * Correcting wrong usages of new and old container names in container move command, thanks to Katharina Drexel for discovering it. * Adding missing colon in container create commands '--script' option. * Adding support for Debian 11 (bullseye) to debootstrap container create script. * Adding support for Debian 11 (bullseye) to debconf container create script. * Adding support for Progress Linux 6 (fuchur) to debconf container create script. [ Katharina Drexel ] * Adding overlay options to container configuration file. * Adding overlay options to container create command. * Adding overlay options to container start command. * Adding overlay options to debconf script. * Adding awk optimizations in configuration file handling. [ Daniel Baumann ] * Adding one more awk optimizations in container stop command. 2020-08-30 Daniel Baumann * Releasing version 20200830. [ Daniel Baumann ] * Correcting permissions of pre-start.unlink-console.sh hook. * Adding post-start hook to set nvidia device ownership. * Harmonizing hooks. * Correcting call of post hooks in container start program to make them actually work, thanks to Simon Spoehel . * Using more common sign extension for detached gpg signatures in container curl create script. * Updating host setup documentation. * Adding IPv6 note in host setup documentation. * Readding container-images.sh. * Adding run comment in version command. [ Katharina Drexel ] * Fixing 'cnt remove' error when executed in directory /usr/lib/open-infrastructure/container. [ Daniel Baumann ] * Fixing one more occurence of wrong tr usage in container move command. 2020-01-21 Daniel Baumann * Releasing version 20200121. [ Daniel Baumann ] * Fixing FTBFS with newer asciidoc versions. * Adding verbose option for container start command. * Updating copyright notices for 2020. 2019-11-04 Daniel Baumann * Releasing version 20191104. [ Daniel Baumann ] * Adding default hook to unlink console prior start when bindmounting /dev (e.g. in GPU computing cases). * Tightening Address lookup in container list command for systemd-networkd to not display MACAdresses instead of IPs. 2019-08-11 Daniel Baumann * Releasing version 20190811. [ Daniel Baumann ] * Correcting whitespace error in include handling that broke debconf container create script. * Cosmetically fixing internal preseed file when using the progress-linux package. * Simplifying trap handling in debconf container create script. * Updating interfaces example configuration in host-setup documentation. * Removing stray veth links when starting containers with force. * Removing stray veth links when stopping containers with force. [ Simon Spöhel ] * Fixing a bug where directories were not created for --bind-ro. * Fixing a bug where only the last item in lists passed via CLI was evaluated. * Fixing the debconf script to use the bind-ro string when preseeding. 2019-04-13 Daniel Baumann * Releasing version 20190413. [ Daniel Baumann ] * Removing explicit protocol for IP adresses in container list command. * Including gnupg explicitly in debconf container create command, thanks to Nik Lutz . * Correcting syntax error in container bash-completion. * Correcting typo when disabling IPv6 RA in debconf container create script, thanks to Simon Spöhel . [ Nik Lutz ] * Unmount bind mounts in reverse order to allow nested bind mounts. [ Daniel Baumann ] * Using trap function to unmount bind mounts etc. on exit with or without error. 2019-03-19 Daniel Baumann * Releasing version 20190319. * Backward incompatible changes: - with the initial support for IPv6 network configuration the IPv4 netmask now needs to be specified in CIDR notation, e.g. '255.255.255.0' becomes '24'. [ Daniel Baumann ] * Adding initial support for IPv6 in debconf container create script. * Using C.UTF-8 in container enter command as fallback locale. 2019-03-04 Daniel Baumann * Releasing version 20190304. [ Daniel Baumann ] * Readding key command. * Readding limit command. * Readding curl container create script. * Correcting version strings in changelog. * Correcting variable name in makefile. 2019-03-01 Daniel Baumann * Releasing version 20190301. [ Daniel Baumann ] * Adding a end message in container create command. * Removing staging repositories in debconf create script, not used anymore. * Removing Force-LoopBreak option when calling apt in container debconf create script, not needed anymore. * Using apt instead of apt-get in container debconf create script. * Removing progress-linux apt sources.list handling in container debconf create script by using the progress-linux package instead. * Allow to select/deselect main repository in container debconf create script. * Removing armel and armhf support in container debconf create script. * Adding comment to debian sources.list in container debconf create script. * Removing some dead code in container create scripts. * Adding same internal name strings in all scripts. * Adding support for using mmdebstrap in container debootstrap create script. * Removing key command until its completly tested. * Removing limit command until its completly tested. * Removing curl container create script until its completly tested. * Updating list of container commands to be logged. * Updating list of container shortcut commands. * Removing a few fixmes that are not needed anymore. * Moving asciicast to the website. * Moving container-images.sh to website. 2019-02-22 Daniel Baumann * Releasing version 20190222. * Backward incompatible changes: - replaced Progress Linux 4 and Progress Linux 4+ support in container debconf create script in favour of Progress Linux 5 and Progress Linux 5+ support. - renamed upstream from container-tools to compute-tools, directory names have changed. The only user visible is the configuration directory: old: /etc/container-tools new: /etc/open-infrastructure/container - harmonized field names in container debconf create script: old: container-tools cnt-debconf/[...] new: compute-tools container/[...] See updated example files in /usr/share/doc/compute-tools/examples. [ Daniel Baumann ] * Updating year in copyright notices to 2019. * Updating debian preseed example from stretch to buster. * Updating progress-linux preseed example from dschinn-backports to engywuck-backports. * Adding comment about enabling user namespace in procps configuration. * Adding support for Debian 10 (buster) in debconf container create script. * Setting default debian distribution to buster in debconf container create script. * Adding support for Debian testing/bullseye in debconf container create script. * Replacing Progress Linux 4 with Progress Linux 5 in debconf container create script. * Setting default debian distribution to buster in debootstrap container create script. * Adding verbose output when using '-n ALL' options with container commands. * Updating host-setup documentation for unpriviled containers. * Adding convenience symlinks for container start and stop commands. * Correcting (harmless) error in https mirror handling wrt/ installing apt-transport-https. * Replacing archive signing key handling for progress-linux by install the progress-linux package. * Using cdn redirector as default sources.list entry. * Adding st convenience symlink for status command. * Adding missing convenience symlinks in bash-completion. * Adding container log command. * Fixing inconsistent variable usage in makefile. * Updating container-images.sh example for buster. * Correcting left-over from old cnt-debconf/auto field in engywuck-backports preseed example. * Removing manpage symlinks in uninstall target too. * Renaming container-tools to compute-tools. * Using get.open-infrastructure.net as default URL to get images from in container create script.ck * Harmonizing debconf values for container debconf create script. * Using hostname fallback if FQDN is not set. 2018-08-25 Daniel Baumann * Releasing version 20180825. [ Daniel Baumann ] * Dropping untested arm64 specific settings in container start command. * Also allowing symlinks for containers, requires systemd 233 or newer (see #805785). * Adding reference to /var/cache/container-tools to container manpage. * Adding support for multiple container and host commands in debconf container create script. * Removing bind mounting of /var/cache/apt/archives during creation of the container, not really usefull anymore these days. 2018-05-27 Daniel Baumann * Releasing version 20180527. [ Daniel Baumann ] * Calling commands without exec to make multiple commands in a row work properly. * Updating documentation for multiple commands in a row. * Calling shell in container enter command directly, replacing container-nsenter helper program. * Correcting and simplifying nsenter call in container enter command. * Clarify differences between container enter and console commands in manpages. * Improving comment in procps configuration. * Improving comment in systemd container-auto.service description. * Updating author section in manpages. * Adding missing command variable in some container commands. * Setting dummy SSH_CLIENT variable during container enter to enable conditional shell prompts such as powerline. * Correcting typo in verbose option handling of container remove command. * Adding 'ALL' as pseudo container name for container start, stop, restart, and remove commands to act on all available container respectivly. * Adding check in container create command to not create any container named 'ALL'. 2018-05-03 Daniel Baumann * Releasing version 20180503. [ Daniel Baumann ] * Removing suite reference in examples of container-create-debconf manpage. * Adding -v, --verbose option to container-create command to be used e.g. when mass-creating new containers in a row. * Adding quotes for consistency in bash-completion. * Updating bash-completion to also complete on preseed files in the first level of subdirectories of /etc/container-tools/debconf. * Updating asciicast for asciinema version 2.0. 2018-02-18 Daniel Baumann * Releasing version 20180218. [ Daniel Baumann ] * Updating year in copyright information for 2018. * Adding container remove --allow-stop option to override abort of running containers and stop them prior removal. * Making pre-create.git-pull.sh hook to be aware of multiple subdirectories below /etc/container-tools/debconf for multi-site container debconf files. * Making container debconf create script aware of multiple subdirectories below /etc/container-tools/debconf when showing the list of preseed files to the user. * Making container debconf create script aware of multiple subdirectories below /etc/container-tools/debconf for automatically selecting an existing and matching debconf file. * Always sorting preseed files starting with a capital letter first in debconf container create script, independent of systems locale. * Adding support for Debian testing/buster in debconf container create script. 2018-01-18 Daniel Baumann * Releasing version 20180118. [ Daniel Baumann ] * Adding SPDX License Identifiers. * Automatically take matching preseeding files from /etc/container-tools/debconf. * Automatically take default preseeding file from /etc/container-tools/debconf if available. * Adding note about vsyscall boot parameter in host-setup documentation. * Running host commands as last thing in debconf container create script in order to make it possible to change config files dynamically. * Adding message when creating bind mount directories in container start command. 2017-11-01 Daniel Baumann * Releasing version 20171101. [ Daniel Baumann ] * Removing fallback TERM in container list, not needed anymore. * Adding con shortcut for container console command. * Adding sh shortcut for shell format in container list command. * Adding ver shortcut for container version command in bash-completion. * Adding container create pre-hook that can be used to automatically git pull /etc/container-tools/debconf. * Avoiding to display .cfg extension for preseed files in container debconf create script. * Supporting using IP address from DNS lookup of the container name in preseed files for container debconf create script. * Supporting using IP address parts of the container name in preseed files for container debconf create script. 2017-10-13 Daniel Baumann * Releasing version 20171013. [ Daniel Baumann ] * Using linux as fallback TERM in container list command. * Using iproute instead of net-tools to setup interfaces. * Using iproute instead of bridge-utils to setup bridges. * Removing some dead code in network-veth-extra handling. * Removing ifupdown in debconf container create script earlier by excluding it from debootstrap. * Removing net-tools from container-tools manpage. 2017-07-26 Daniel Baumann * Releasing version 20170726. [ Daniel Baumann ] * Fixing issues from network0 -> network1 transition in debconf container create script. 2017-07-22 Daniel Baumann * Releasing version 20170722. * Backward incompatible changes: - new default URL to download images in curl create script (files.open-infrastructure.net) - new default for bridge interface (bridge0 instead of br0) - new default for container interface (eno1 instead of eth0) - renaming --image option to --system in curl container create script - renaming curl image cache directory from /var/cache/container-tools/images to /var/cache/container-tools/system - Starting to count at 1 instead of 0 in preseed files: old: container-tools cnt-debconf/archive0/... new: container-tools cnt-debconf/archive1/... old: container-tools cnt-debconf/network0/... new: container-tools cnt-debconf/network1/... [ Daniel Baumann ] * Wrapping changelog to 80 characters per line. * Adding myself to copyright notice in bash-completion. [ Simon Spöhel ] * Fixing spelling typo in 'bandwidth'. [ Daniel Baumann ] * Adding interface max length check in container start command. * Adding message about enabled and disabled container commands in container-shell help. * Updating output of container-shell help. * Also creating lz compressed container-images in example script. * Correcting typo in comment in curl container create script. * Updating default url to download images from in curl container create script. * Adding cnt-debconf/mode preseed field to allow embedding container create script within preseed file itself without relying on a specific default create script being set on the host system, thanks to David Kunz for the idea. * Using default bridge0 instead of br0 as default bridge interface. * Using default eno1 instead of eth0 as default container interface. * Removing unreachable fallback for veth0, always the short-hostname is used anyway. * Adding knot-resolver to dschinn-backports preseed example. * Making sha512 checksum optional for image downloads in curl container create script. * Adding error messages in curl container create script if required decompressors are not installed. * Dynamically prefer lzip over xz over gz in curl container create script, depending on if required decompressors are already installed on the host system. * Reshuffeling curl options handling in curl container create script. * Adjusting messages output in curl container create script. * Reshuffeling checksum handling in curl container create script. * Adding support for setup tarballs in curl container create script for appliance style setup of prebuilt containers. * Sorting password option handling in curl container create script. * Adding gzip dependency check in curl container create script for completness sake. * Renaming --image option to --system in curl container create script for consistency. * Adding --setup option in curl container create script to manually specify a custom setup tarball. * Updating container-create-curl manpage to match current curl container create script. * Updating container-images.sh example script to match current curl container create script expectations. * Updating default filename for download in curl container create script. * Passing container name to setup environment in curl container create script. * Moving image cache from /var/cache/container-tools/images to /var/cache/container-tools/system for consistency. * Adding container key command. * Adding GPG signature verification for curl container create script. * Adding interactive container list in curl container create script. * Adding automatic compression detection for downloads in in curl container create directory. * Adding architecture option to curl container create script. * Making example preseed files non-interactive. * Starting to count at 1 instead of 0 to be consistent with new network interface names in network and archive preseeding arrays. 2017-07-01 Daniel Baumann * Releasing version 20170701. [ Daniel Baumann ] * Correcting boolean typo when checking for existence of new container in container move command, thanks to Simon Spöhel . * Avoid removing top-level directories when cleaning up bind mounts in container remove and stop commands. * Also removing /etc/localtime before reconfiguring tzdata to workaround broken tzdata preseed handling (see several bug reports in the BTS), thanks to Nik Lutz . 2017-06-29 Daniel Baumann * Releasing version 20170629. * Backward incompatible changes: - container auto configuration in the [start] section to entangle shared storage/automatically start at boot time support: old: cnt.auto=true new: cnt.auto=true cnt.container-server=${FQDN} whereas ${FQDN} needs to be replaced with the actual hostname of the container server. [ Daniel Baumann ] * Removing useless whitespace in debconf script. * Correcting typo in systemd parts of the Makefile's uninstall target. [ Nik Lutz ] * Implementing postup/postdown for systemd-networkd by creating systemd units in /etc/systemd/system. [ Daniel Baumann ] * Dropping obsolete LTS archive definitions, thanks to Nik Lutz . * Using allow-hotplug instead of allow in host-setup documentation. * Removing net-tools from host-setup documentation, it is a direct depends of container-tools for the time being. * Renaming cnt.auto to cnt.container-server in order to split functionality of 'binding container to a specific host system' from 'starting container at system boot'. * Executing auto commands only when cnt.auto=true and cnt.container-server matches the current hostname. * Adding CONTAINER_COMMANDS_ENABLE variable for container-shell to add support for allowing certain container commands for a specific container-shell invocation only. * Adding CONTAINER_COMMANDS_DISABLE variable for container-shell to add support for disallowing certain container commands for a specific container-shell invocation only. * Documenting usage of container-shell command restrictions in container-shell manpage. * Using more systemd-ish status symbols in container list command. * Adding new container top command. * Adding new container top command manpage. * Updating bash-completion for container top command. * Adjusting container list outout for container top command. * Harmonizing edition of container configuration file in debconf script. * Allow cnt.auto=force-true to enforce startup of a locked container at system startup. 2017-05-22 Daniel Baumann * Releasing version 20170522. [ Daniel Baumann ] * Correcting bind-ro option handling to actually work. * Reverting "Purging packages that got removed/replaced during container creation.", not needed anymore. 2017-05-10 Daniel Baumann * Releasing version 20170510. [ Daniel Baumann ] * Purging packages when autoremoving them. * Purging packages that got removed/replaced during container creation. * Adding missing bind-ro handling in container create command, thanks to Simon Spöhel . * Adding sysctl config for procps to increase inotify limits in order to run more than a few containers on a system. * Updating list of excluded directory names in container list command. 2017-04-05 Daniel Baumann * Releasing version 20170405. [ Daniel Baumann ] * Consistently using '--force-confnew' as dpkg option when upgrading or installing packages. 2017-04-01 Daniel Baumann * Releasing version 20170401. [ Daniel Baumann ] * Shortening file removal handling in uninstall target in makefile. * Cleanup stray preseed.cfg removal. * Allowing @NAME@ variable in preseed files to allow for more flexibel preseed templating. * Allowing multiple container commands to be executed in a row. * Adding support for bind-ro nspawn option for read-only bind mounts. 2017-01-01 Daniel Baumann * Releasing version 20170101. [ Daniel Baumann ] * Updating year in copyright information for 2017. * Adding -f, --force option in container auto command. * Adding net-tools in container-tools manpage to the list of packages to install. * Adding net-tools to required packages in host-setup documentation. * Adding bash-completion for container auto command. * Adding bash-completion for container move command. * Adding bash-completion for container version command. * Using generic directory instead of local directory for debconf files to bash-complete container create command. * Reordering bash-completion to do completion the usual way (by suggesting commands first, then options and finally their arguments, rather than commands and arguments only). 2016-12-20 Daniel Baumann * Releasing version 20161220. [ Daniel Baumann ] * Fixing suffix in nwdiag output in container list command. * Handling unreadable container directory properly in container list command. 2016-12-10 Daniel Baumann * Releasing version 20161210. * Backward incompatible changes: - container list shows now only the first IPv4 address. - container rename command has been renamed to move. - container list full format has been renamed to cli. - container list short format has been renamed to shell. [ Daniel Baumann ] * Adding container rename to mv symlink. * Renaming container rename command to move for consistency. * Tidying container move interactive question. * Tidying container move comments. * Adding container move manpage. * Harmonizing markup of email addresses in manpages. * Completing usage message in container list command. * Renaming internal show function in container list command for consistency. * Adding trailing line in full format for container list command. * Sorting format code in container list command. * Renaming full format in container list command to cli for consistency. * Renaming short format in container list command to shell for consistency. * Removing half-finished multi-address handling in container list command. * Adding CSV export format to container list command. * Adding JSON export format to container list command. * Adding nwdiag export format to container list command. * Adding YAML export format to container list command. * Adding XML export format to container list command. * Enabling pre and post hooks in container program. * Enabling pre and post hooks in container commands. * Enabling pre and post hooks in container create scripts. 2016-12-01 Daniel Baumann * Releasing version 20161201. [ Daniel Baumann ] * Adding note about configuration files in container manpage. * Logging some container actions in container program to /var/log/container-tools/container.log. * Adding logrotate handling for /var/log/container-tools/container.log. * Adding irc notification (opt-in). * Calling container programm in container-shell to trigger notifications too. 2016-11-25 Daniel Baumann * Releasing version 20161125. [ Daniel Baumann ] * Renaming too generic internal getopt variables to avoid possible collisions in the future. * Minimizing included packages by default in debconf container create script. 2016-11-22 Daniel Baumann * Releasing version 20161122. * Backward incompatible changes: - renaming curl cache directory from /var/cache/container-tools/curl to /var/cache/container-tools/images. [ Daniel Baumann ] * Adding runtime detection for http2 option in curl create script. * Using curl with --fail option to abort in case of server/url errors. * Updating contact section in manpages. * Harmonizing manpage markup. * Adding --clean option to curl container create script to remove downloaded tarball from cache after successful container creation. * Changing cache directory in curl create script from /var/cache/container-tools/curl to /var/cache/container-tools/images. * Using https by default in container-images.sh example script. * Adding sha512 verification to curl container create script. * Removing libui-dialog-perl from includes in debconf container create script. 2016-11-12 Daniel Baumann * Releasing version 20161112. * Backward incompatible changes: - removes support to create Debian 8 (jessie) container in debconf container create script. [ Daniel Baumann ] * Removing support for Debian 9 (jessie) in debconf container create script. * Adding shortcuts for container commands to bash-completion as well. * Ignoring symlinks as container commands in bash-completion. * Adding container version to ver symlink. * Updating development section in container-tools manpage. * Avoid repeating ipv4 address of the previous container in container list command. * Using fallback to ifupdown addresses in container list command for container not using networkd yet. * Fail to find container in remove command only when both the rootfs and the config are gone already. * Correcting syntax in usage message of container create scripts. * Adding initial curl container create script. 2016-11-05 Daniel Baumann * Releasing version 20161105. * Backward incompatible changes: - container use systemd-networkd instead of ifupdown. [ Daniel Baumann ] * Readding container rename command. * Readding -f|--force option in container stop command. * Readding container limit command. * Readding container enter command. * Removing empty line at the end of the changelog file. * Replacing README.txt with a copy of container-tools.7 manpage. * Installing README.txt into documentation directory. * Installing all generic text files as documentation. * Adding mandatory inclusion of /etc/network/interfaces.d files in host-setup documentation, thanks to Richard Nelson . * Using systemd-networkd in container instead of ifupdown. * Updating container list command to use systemd-networkd config instead of ifupdown. * Excluding symlinks in container-shell command list. * Adding container list to ls symlink. * Adding container remove to rm symlink. 2016-11-01 Daniel Baumann * Releasing version 20161101. [Daniel Baumann] * Changing installation of systemd support packages to workaround systemd-shim failures in debootstrap. * Correcting installation location for documentation in makefile. * Adding note about help for individual commands in container-shell program. * Using sudo in container-shell. * Setting LC_ALL in container-shell. * Switching from ftp.debian.org as default debian mirror to deb.debian.org in debconf script. * Removing obsolete configuration for broadcast in interfaces of debconf container create script. * Removing obsolete configuration for network in interfaces of debconf container create script. * Removing obsolete network configurations in host-setup documentation. * Switching default distribution to stretch in container create scripts. * Replacing support for Progress Linux 3 (cairon) with Progress Linux 4 (dschinn). * Automatically adding restricted archive areas for progress-linux extras repositories if non-free is enabled. * Updating progress-linux archive-key filenames. * Removing container enter command for LTS version. * Removing container limit command for LTS version. * Removing -f|--force option in container stop command for LTS version. * Removing container rename command for LTS version. * Correcting IP address in documentation of a network configuration example. * Updating known limitations in README file. * Updating known limitations in container-tools manpage. * Improving language of preseed question in debconf script. * Updating asciicast for container-tools version 20161101. 2016-08-01 Daniel Baumann * Releasing version 20160801. [ Daniel Baumann ] * Adding commit messages to previous changelog. * Trimming usage example to basic commands only in readme file. * Trimming usage example to basic commands only in container-tools manpage. * Adding reference to container-status command in container manpage. * Updating name in container-status manpage. * Dropping lxc ignore in container list command. * Adding hooks directory for pre and post execution of container commands. [ Simon Spöhel ] * Changing container-status command to always show full output. [ Daniel Baumann ] * Adding host system based overlay mounts. * Adding error message in container start command if container is locked. * Adding -f, --force option to container start command to remove stray lock files. * Adding container-nsenter program for container enter command. * Calling container-nsenter program from container enter command. * Sorting container configuration file. * Adding support for user namespace. * Adding -v, --verbose option to container remove command. 2016-07-01 Daniel Baumann * Releasing version 20160701. [ Daniel Baumann ] * Showing only local containers by default in container list command. * Adding container enter command. * Creating non-existing source directory for bind mounts automatically in container start command. * Harmonizing defintions of long and short options in getopt code of container commands. * Adding container rename command. * Updating references to bug tracking system. * Updating Git URL in installation instructions. [ Andreas Kreuzer ] * Fixing bash-completion. * Correcting container list manpage. * Adding bash-completion for container enter command. * Updating bash-completion for container list command. * Updating bash-completion for format parameter in container list command. * Updating bash-completion for container remove command. [ Daniel Baumann ] * Using tabs instead of spaces for indentation in container bash-completion. * Harmonizing head comments in container bash-completion. * Looking up container create scripts dynamically in container bash-completion. * Correcting local commands extraction in container bash-completion. * Correcting bind mount directory creation in container create command to work with multiple directories at once. * Correcting bind mount directory removal in container remove command to work with multiple directories at once. * Using global path definition in container create command for consistency. * Using global path definition in container version command for consistency. * Always writing cnt.auto= default values to configuration files in debconf container create script. * Adding asciicast introduction. * Updating depends to install in readme file. * Updating depends to install in container-tools manpage. * Adding section about known limitations to readme file. * Adding section about known limitations to container-tools manpage. * Creating machines directory in container create scripts if it's not already existing. [ Philipp Plüss ] * Correcting spelling typo in HOST-SETUP.txt. [ Simon Spöhel ] * Adding container-status command. [ Daniel Baumann ] * Adding bash-completion for container status command. 2016-06-15 Daniel Baumann * Releasing version 20160615. [ Daniel Baumann ] * Adding documentation key in systemd unit files. * Correcting typo in readme. * Updating download links in readme. * Updating download links in container-tools manpage. * Correcting typo in container-tools manpage. * Updating vcs links in readme. * Updating vcs links in container-tools manpage. * Making makefile more generic. * Completing cleanup of directories in makefile uninstall target. * Silencing error message in container list command if machine directory is not readable. * Excluding container-tools and .container-tools in /var/lib/machines as special directories to allow all container-tools resources to be places on shared storage. [ Andreas Kreuzer ] * Correcting limit manpage namespace. [ Daniel Baumann ] * Correcting container list command to list container without IP adresses. * Correcting aligning in container list command. * Showing local containers in container list command only. * Including apt-transport-https in default package selection of progress-linux container create script. * Including systemd-sysv in default package selection of progress-linux container create script to prevent pulling in systemd-shim and cgmanager. * Switching default entries for cdn.archive.progress-linux.org to HTTPS. * Using UTF-8 symbols for container status. [ Andreas Kreuzer ] * Adding bash-completion. 2016-06-01 Daniel Baumann * Releasing version 20160601. * Backward incompatible changes: - for consistency reasons, instead of any file only files with .cfg suffix are accepted as preseed files in /etc/container-tools/debconf. [ Daniel Baumann ] * Replacing http links in manpages with https. * Adding bind option to bind mount directories in debconf script. * Adding bind field in debconf cairon-backports example preseed file. * Mounting bind mounts for the duration of the debconf script. * Removing empty source directory of bind mounts in container stop command. * Using safety measures of rm when removing containers because of (potentially) active bind mounts. * Correcting cleanup of temporary debconf files in debconf script. * Guessing default container script from /usr/share/container-tools/scripts/default symlink (if existing). * Using .cfg suffix for preseed files of debconf script for consistency. * Adding auto option to set automatic start in debconf script. * Adding auto field in debconf cairon-backports example preseed file. 2016-05-15 Daniel Baumann * Releasing version 20160515. * Backward incompatible changes: - container network configuration in the [start] section for multi-interface support: old: network-veth=yes network-bridge=br0 new: cnt.network-bridge=veth-foo:br0 network-veth-extra=veth-foo:eth0 cnt.network-bridge=veth-bar:br1 network-veth-extra=veth-bar:eth1 - default container network device switched from host0 to eth0. - container start in background by default. - container-autostart has been renamed to container-auto. - container autostart configuration in the [start] section: old: cnt.autostart=true|FQDN new: cnt.auto=true|FQDN [ Nik Lutz ] * Fixing path argument of chmod for .container-command script in the debconf script. * Using systemd to cleanup network interfaces after the container has been stopped. * Using systemctl to start containers. * Swaping parsing order of NETWORK_VETH_EXTRA and NETWORK_BRIDGES. * Replacing systemd-nspawn '--network-bridge=' with one config file per interface in /etc/network/interfaces.d. * Using eth[0-9] instead of host[0-9] in containers /etc/network/interface. * Removing network interface configuration in /etc/network/interfaces.d after container stop. * Using systemd-nspawn '--network-veth-extra=' instead of '--network-veth' (prerequisite for multiple network interface support h per container). * Adding veth name (cnt-debconf/network[0-9]/veth) configuration option to debconf script. [ Daniel Baumann ] * Adjusting output of additional IP addresses in container list command. * Correcting typo in debconf jessie example preseed file. * Adding veth field in debconf cairon-backports example preseed file. * Removing screen session handling in container-autostart program, containers start in background by default now. * Reworking container-autostart program into container auto command. 2016-05-01 Daniel Baumann * Releasing version 20160501. [ Daniel Baumann ] * Correcting spelling error in changelog file. * Excluding snapshot directories for cephfs and netapp in container list command. * Adding short and full list format to container list command. * Adding exit alias for logout in container-shell program. * Correcting Debian stretch version number in container-tools manpage. * Correcting Debian stretch version number in readme file. * Adding links in development section of the container-tools manpage. * Adding links in development section of the readme file. 2016-04-15 Daniel Baumann * Releasing version 20160415. * Backward incompatible changes: - container stop command option -k|--kill renamed to -f|--force for consistency [ Daniel Baumann ] * Removing hardcoded container reference when opening manpages in container-shell help. * Using logout only to exit container-shell. * Adding start note about logout to container-shell. * Completing output of container-shell help command. * Avoid aborting container-shell help command if no manpage is available. * Adding container-shell about command. * Adding notes about container-shell specific commands in container-shell manpage. * Updating container-shell start message. * Overwriting existing symlinks in makefiles install target. * Adding extra empty line before each command output in container-shell. * Updating apt comandline in installation instructions. * Dropping unused syslog.target from container-autostart.service file. * Excluding lost+found directory in container list command. * Creating container program shortcut symlinks in makefile instead of keeping them in the sources. * Creating container script shortcut symlinks in makefile instead of keeping them in the sources. * Adding manpage symlinks for container script shortcut symlinks. * Renaming container stop command option -k, --kill to -f, --force for consistency. * Switching from httpredir.debian.org as default debian mirror to ftp.debian.org in debconf script. 2016-04-01 Daniel Baumann * Releasing version 20160401. [ Daniel Baumann ] * Creating configuration directory. * Adding native ARM architecture support in container start command. * Adding container-shell program. * Adding container-autostart program. * Adding container limit command. * Adding capability and drop-capability config option. * Adding blockio, cpu, memory and tasks limit config options. * Adding debconf script. * Updating year in copyright notices in container commands. * Making removal message and answer handling of container remove command more userfriendly. * Adding documentation about host setup. * Correcting spelling in readme. * Adding notes about installation to readme file. * Adding notes about development to readme file. * Correcting spelling in container-tools manpage. * Updating comments in programs. * Updating comments in commands. * Updating comments in examples. * Updating comments in manpages. * Updating comments in scripts. * Updating comments in makefile. * Updating debconf title in debconf script. * Correcting spelling in container program manpages. * Adding notes about installation to container-tools manpage. * Adding notes about development to container-tools manpage. * Updating wording about Debian and Debian based containers in container-create-* manpages. * Updating wording about Debian and Debian based containers in jessie example file. * Updating container-tools description in readme file. * Updating container-tools description in manpages. 2016-03-01 Daniel Baumann * Releasing version 20160301.