Hmmm, does #flatcarlinux really not support #podman? Or is it just accidentally missing from the container runtime docs?

https://www.flatcar.org/docs/latest/container-runtimes/

It is also not present in the sysext-bakery.

Container Runtimes

Flatcar Container Linux supports all of the popular methods for running containers, and you can choose to interact with the containers at a low-level, or use a higher level orchestration framework. These guides can help you choose and use the different container runtimes supported.

Flatcar

@johanneskastl The challenge with podman is that it has OS dependencies (more precisely, crun does depend on the C library shipped by the base OS).
So contrary to the bakery extensions, a podman sysext would need to be updated in lockstep with the base OS image.

That said, we build and ship an OS dependent podman sysext since 3941.0.0 (so it's currently in Alpha and Beta). It's neither tested regularly nor documented though (patches welcome!): https://www.flatcar.org/docs/latest/provisioning/sysext/#flatcar-release-extensions-official

Systemd-sysext

Extending the base OS with systemd-sysext images

Flatcar

@johanneskastl
Flatcar supports 3 kinds of sysexts:

1. OS dependent sysexts like podman, python, or zfs. These are built and published for each new release, enabled by adding them to /etc/flatcar/enabled-sysext.conf, and updated automatically in lockstep with the OS, by the OS update mechanism ("update engine").

2. OS independent sysexts like docker, kubernetes, etc. Published independently from the OS in the bakery, updated independently via systemd-sysupdate.

1/2

@johanneskastl

3. Third party system independent sysexts. Published e.g. like our bakery on GitHub (or entirely differently) and optionally updated via systemd-sysupdate at the user's leisure.

@thilo Thanks, so it just needs to mature and get tested and documented? ;-)

@johanneskastl I think documentation and examples on how to enable OS dependent sysexts in the "Installing" section would be a great start. It's just markdown, not scary at all: https://github.com/flatcar/flatcar-website

For testing, the test suite is written in Go and can run locally (using qemu): https://github.com/flatcar/mantle/tree/flatcar-master/kola
The existing docker tests may provide some inspiration: https://github.com/flatcar/mantle/blob/flatcar-master/kola/tests/docker/docker.go
For advanced coverage the kubernetes tests could be run on both containerd and podman: https://github.com/flatcar/mantle/tree/flatcar-master/kola/tests/kubeadm

GitHub - flatcar/flatcar-website

Contribute to flatcar/flatcar-website development by creating an account on GitHub.

GitHub