All notable changes to this project will be documented in this file.
- Fixed issue #544 preventing containers initialization within sysbox containers when running latest oci-runc releases (1.1.0-rc.1+).
- Added support to allow CIFS mounts within Sysbox containers (Sysbox-EE only).
- Fixed issue to allow shiftfs mounts over files that are themselves bind-mounts.
- Added support for Linux ID-mapped mounts (shiftfs alternative in kernels >= 5.12).
- Added support for ARM64 hosts.
- Added support for running buildx/buildkit inside Sysbox containers.
- Added support for running Rancher RKE2 and Mirantis K0s inside Sysbox containers.
- Added configs to disable trapping chown and xattr* syscalls (improves performance but may reduce functionality).
- Added config to strictly honor container capabilities from higher-level container manager.
- Added support for per-container configs via
SYSBOX_*
env vars. - Improved performance of Sysbox's syscall interception code.
- Improved the way Sysbox releases the seccomp-fd handles for intercept syscalls (kernels >= 5.8).
- Improved Sysbox's cross-compilation support (artifacts can now be generated from/to either AMD64 or ARM64 hosts).
- Update to golang 1.16.
- Replaced the per-distro *.deb installation packages with a single deb bundle package.
- Allow alternative Docker data-root inside a Sysbox container (if Docker is pre-installed in the Sysbox container image).
- Fixed segfault when building Docker image inside Sysbox container (issue #484).
- Fixed segfault when running python pip install inside nested sysbox container (issue #485).
- Fixed issue with running KinD inside a Sysbox container (issue #415).
- Fixed problem with shiftfs mounts on Kubernetes persistent volumes (issue #431).
- None.
- Added important optimization to expedite the container creation cycle.
- Enhanced uid-shifting logic to perform shifting operations of Sysbox's special dirs on a need basis.
- Added support for Kinvolk's Flatcar Linux distribution (Sysbox-EE only).
- Added basic building-blocks to allow Sysbox support on ARM platforms.
- Fixed issue preventing Sysbox folders from being eliminated from HDD when Sysbox is shutdown.
- Enable sys container processes to set 'trusted.overlay.opaque' xattr on files (issue #254).
- Fixed bug resulting in the failure of "mount" operation within a sys container.
- Made various enhancements to Sysbox's kubernetes installer to simplify its operation.
- Extend Sysbox's kubernetes installer to support Rancher's RKE k8s distribution.
- Added support to create secure Kubernetes PODs with Sysbox (sysbox-pods).
- Added support for Cgroups-v2 systems.
- Added support for WeaveNet and Calico CNIs to run within a Sysbox container.
- Added support to allow K3s execution within Sysbox containers.
- Extended Sysbox support to Fedora-33 and Fedora-34 releases.
- Extended Sysbox support to Flatcar Linux distribution.
- Modified Sysbox binaries' installation path ("/usr/local/sbin" -> "/usr/bin").
- Enhanced generation and handling of logging output by relying on systemd (journald) subsystem.
- Multiple enhancements in /proc & /sys file-system's emulation logic.
- Extended installer to allow it to deploy Sysbox in non-strictly-supported distros / releases.
- Improved security of shiftfs mounts.
- Fixed issue impacting sysbox-fs stability in scaling scenarios (issue #266).
- Fixed issue preventing sys-container initialization due a recent change in oci-runc (issue #291).
- Fixed issue with "--mountpoint" cli knob being ignored (sysbox issue #310).
- Fixed issue causing sysbox-fs handlers to stall upon access to a procfs node (issue #306).
- Fixed issue preventing write access to 'domainname' procfs node (issue #287).
- Fixed issue preventing systemd-based containers from being able to initialize (issue #273).
- Made changes to allow Docker network sharing between containers.
- Ensure that Sysbox mounts in read-only containers are mounted as read only.
- Deprecated EOL'd Fedora-31 and Fedora-32 releases.
- Secured system container initial mounts (mount/remount/unmounts on these from within the container are now restricted). See here for details.
- Improved Sysbox systemd service unit files (dependencies, open-file limits).
- Improved logging by sysbox-mgr and sysbox-fs (json logging, more succint logs).
- Added support for systemd-managed cgroups v1 on the host (cgroups v2 still not supported).
- Added support for read-only Docker containers.
- Synced-up sysbox-runc to include the latest changes from the OCI runc.
- Added support for Debian distribution (Buster and Bullseye).
- Added ground-work to support Sysbox on RedHat, Fedora, and CentOS (next step is creating a package manager for these).
- Added config option to configure the Sysbox work directory (defaults to /var/lib/sysbox).
- Fixed sporadic session stalling issue during syscall interception handling.
- Fixed sysbox-mgr file descriptor leak (sysbox issue #195).
- Fixed problem with "docker --restart" on Sysbox containers (sysbox issue #184).
- Fixed race condition in sysbox-fs procfs & sysfs emulation.
- Fixed problem preventing kernel-headers from being properly imported within sys containers.
- Fixed inappropriate handling of mount instructions in chroot jail environments.
- None.
- Added initial Kubernetes-in-Docker support to enable secure, flexible and portable K8s clusters.
- Implemented inner Docker Image Sharing feature, to dramatically reduce host storage utilization for system containers that come preloaded with Docker images.
- Added support for running privileged-containers within secure system containers.
- Added support for containerd to run within system containers.
- Made multiple performance improvements to expedite container initialization and i/o operations.
- Added support for Ubuntu-Eoan (19.10) and Ubuntu-Focal (20.04).
- Extended support for Ubuntu-Cloud releases (Bionic, Eoan, Focal).
- Enhanced Sysbox documentation.
- Deprecated support of Ubuntu's EOL releases: Ubuntu-Disco (19.04) and Ubuntu-Cosmic (18.10).
- Created Sysbox Quick Start Guide document (with several examples on how to use system containers).
- Added support for running Systemd in a system container.
- Added support for the Ubuntu shiftfs filesytem (replaces the Nestybox shiftfs).
- Using
docker build
to create a system container image that includes inner container images. - Using
docker commit
to create a system container image that includes inner container images. - Added support for mounts over a system container's
/var/lib/docker
(for persistency of inner container images). - Made multiple improvements to the Sysbox User's Guide and Design Guide docs.
- Rebranded 'sysboxd' to 'sysbox'.
- Deprecated Nestybox shiftfs module.
- Extend installer support to latest Ubuntu kernel (5.0.0-27).
- Initial public release.
- Added external documentation: README, user-guide, design-guide, etc.
- Extend support to Ubuntu-Bionic (+5.x kernel) with userns-remap disabled.
- Added consistent versioning to all sysboxd components.
- Increased list of kernels supported by nbox-shiftfs module (refer to nbox-shiftfs module documentation).
- Add changelog info to the debian package installer.
- Internal release (non-public).
- Supports launching system containers with Docker.
- Supports running Docker inside a system container.
- Supports exclusive uid(gid) mappings per system container.
- Supports partially virtualized procfs.
- Supports docker with or without userns-remap.
- Supports Ubuntu Disco (with userns-remap disabled).
- Supports Ubuntu Disco, Cosmic, and Bionic (with userns-remap enabled).
- Includes the Nestybox shiftfs kernel module for uid(gid) shifting.