What's Changed
New features
- Introduce support for seccomp in VMMs
- Support of block images inside
urunc
's container image - Support of configurable memory using memory limit from container's spec
- Support for docker
Internals
- network cleanup: delete TC rules and TAP device upon killing the unikernel
- Enhance unikernel interface with functions to check supporting features:
Init()
initializes the unikernel struct based on the unikernel argumentsSupportsBlock()
returns a bool value, based on the block support of the respective unikernel.SupportsFS()
takes as an argument a filesystem type and checks if the unikernel supports that type.
- Partial unit tests for pkg/unikontainers
- Refactor devmapper snapshot handling
- Define new environment variable
USE_DEVMAPPER_AS_BLOCK
to use devmapper's snapshot as a block image for the unikernel - Handle newer versions of Unikraft unikernels
- Enable NAT and IP forwarding in static networking
Annotations
com.urunc.unikernel.block
: Define the path to the block image for the unikernel inside the container imagecom.urunc.unikernel.blkMntPoint
: Define the mountpoint of the block image for the unikernelcom.urunc.unikernel.unikernelVersion
: Specify the version of unikernel
Building and CI/CD
- Add action for unit testing
- Refactor Makefile and enhance its targets
- Restructure CI jobs and transition to ARC runners
Misc
- Bug fixes
- Refactor handling of normal containers and replaces constants in paths and annotations
- Unikraft FC boot on arm64
- Huge refactor and update of
urunc
's documentation. The documentation is available at https://nubificus.github.io/urunc/
Full Changelog: v0.3.0...v0.4.0