fn icon indicating copy to clipboard operation
fn copied to clipboard

Podman, Buildah, and Skopeo support

Open c16a opened this issue 4 years ago • 6 comments

Support for Podman, Buildah, and Skopeo

The current fn init and subsequent containers exclusively use Docker, and require the Docker daemon to be running. The open-source leaner alternatives Podman, Buildah, and Skopeo are intended to replace Docker, and provide a daemon-less container experience. The can also compliment and augment to the feature set of Fn CLI.

c16a avatar Oct 19 '19 05:10 c16a

Interfaces similar to the below can be practically re-used to implement support any OCI-compliant container tools.

https://github.com/fnproject/fn/blob/88635fcf086b80dbe809257951beb08727979cfb/api/agent/drivers/docker/image_puller.go#L25-L28

c16a avatar Oct 19 '19 05:10 c16a

At this point, I might have to agree that Fn is tightly coupled with Docker. Not sure if this can be implemented as a feature, or a standalone fork.

c16a avatar Oct 19 '19 05:10 c16a

Hello, we have the driver interface https://github.com/fnproject/fn/blob/master/api/agent/drivers/driver.go which seems to be what you're looking for, this enables swapping out container drivers. Of course, it has become very docker specific over time, it's possible to stub out certain things to get something working to ignore certain feature sets we currently offer via the docker driver, and the basic create container / run container ought to be sufficient. it would be possible to implement such a driver separately and configure fn to start with it, no fork needed. it would be nice to run containers without the docker daemon!

rdallman avatar Oct 29 '19 00:10 rdallman

Is someone looking to work on this? Hope I can self-assign and start working?

c16a avatar Oct 29 '19 05:10 c16a

go for it!

rdallman avatar Oct 29 '19 16:10 rdallman

Looking forward to have them support, especially now that docker desktop has its license changed.

davidkhala avatar May 11 '22 09:05 davidkhala