Removes the BUILDMODE parameter and conditional logic, replacing the custom build command with a standard `make static` command to default to `BUILDMODE=pie`
Update container tooling components to latest versions:
- podman from v5.6.2 to v5.7.0
- runc from v1.3.1 to v1.3.3
- rust from v1.90 to v1.91
- netavark from v1.16.1 to v1.17.0
- aardvark-dns from v1.16.0 to v1.17.0
- fuse v3.16.2 to v3.17.4
- fuse-overlayfs from v1.15 to v1.16
- crun from v1.24 to v1.25
Remove specific version pinning for Alpine base image for better maintenance.
Updates several software components to newer versions:
- podman from 5.6.1 to 5.6.2
- crun from 1.23.1 to 1.24
- rust from 1.89 to 1.90
- passt from 2025_08_05.309eefd to 2025_09_19.623dbf6
Removed version pinning for Alpine & Golang for better maintenance.
Hint: fuse v3.17.x currently can't be built statically in Alpine.
This upgrades multiple components to their latest versions:
- build-stack: alpine from 3.22 to 3.22.1
- build-stack: golang from 1.24 to 1.25.1
- build-stack: rust from 1.87 to 1.89
- podman from v5.6.0 to v5.6.1
- fuse-overlayfs from v1.14 to v1.15
- runc from v1.3.0 to v1.3.1
- netavark from v1.15.0 to v1.16.1
- aardvark-dns from v1.15.0 to v1.16.0
Hint: fuse v3.17.x currently can't be built statically in Alpine.
Add a separate stage to the Dockerfile to build the root file system of the tar archive and make the tar targets within the Makefile build that stage.
Relates to #120
Add quadlet binary and register it as systemd unit generator.
When the tar archive is installed on a systemd-enabled host, the quadlet is called by systemd on `systemctl daemon-reload` to generate unit files based on *.container files within `/etc/containers/systemd`.
The quadlet binary is not contained within the minimal image (because it is actually meant to be published with the tar archive only since systemd is not used inside the container).
* podman 5.1.1
* drop CNI networking and slirp4netns in favour of netavark + pasta
* build statically linked netavark, pasta and aardvark
* conmon 2.1.11
* crun 1.15
* crun is also shipped with the normal (non-minimal) image now.
* build using golang 1.22, use alpine 3.19 base container
Co-authored-by: Trent Apple <trentapple@users.noreply.github.com>
* Upgrade to podman 5
* Include netavark and pasta binaries (new podman network stack and CNI replacement)
* Makefile: Don't access image dir directly for copy out