* Tidy up install & uninstall script
- Also fixed a minor mistake in the uninstall script:
`podman-system-generator` -> `podman-*-generator`
* Install systemd files to `/usr/local/`
* Force bash shell in `Makefile` to allow brace expansion
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
* use gh action to setup qemu.
* make gpg the first stage of the Dockerfile. This is to avoid having to rebuild any other stage.
* use `docker buildx build` also to build the local gpg image in order to share the cache.
Also upgrades:
* runc to 1.0.0
* libslirp to 4.6.1
* fuse-overlayfs to 1.6
Additional changes:
* Enables podman-remote tests again.
* Uses ubuntu gpg keyservers for now because sks servers are down and keys.openpgp.org does not provide a user ID with the key which makes gpg fail.
This is a follow-up of #10 to
* bump the podman-remote version as well
* update crun and libfuse
* disable podman-remote tests for now due to a podman bug
Changes:
* Builds a `minimal` image (without slirp4netns) instead of `rootless`.
* `podman` uid/gid changed from 100000 to 1000/1000 (to avoid exceeding the sub*id range).
* Default USER is root now.
* No ENTRYPOINT script provided that changes the user when container is run as root.
* The HOME env var is not specified anymore in order to use the home dir specified for the user in /etc/passwd.
* Default WORKDIR has changed from /podman to / since /podman is only relevant when running as `podman` user.
* rootless image contains only binaries needed for rootless operations and crun.
* the tar archive contains all binaries and meant to be used for quick installation on any linux-amd64 host.
Removes unnecessary explicit storage dir configuration.
Additional changes:
* Reorganizes project dir structure.
* Use unprivileged user by default in podman-remote image.