falcosecurity/falcoctl

Question: What about using ko to build an push container images?

developer-guy opened this issue · 7 comments

What would you like to be added:

I saw that falcoctl uses Dockerfile to build an image, but as falcoctl is a Go project, there is a better way to meet ko. ko is a simple, fast container image builder for Go applications. It comes with a bunch of shiny features such as producing SBOMs by default, making multi-platform builds much easier.

A similar effort has been done in the past for the Kyverno project; you can look at the issue's details here.

Why is this needed:
To simplify the build process to avoid having Dockerfiles and QEMU.

I'm willing to work on it

/cc @LucaGuerra

Thanks for the suggestion! At this specific time I believe the biggest advantage would be having SBOMs generated, but we may lose the little container we have around the application by default which I find useful right now for troubleshooting.

While it's true that while this image becomes more mature we probably want to have a small and lightweight image perhaps it's not the time just yet 🤔

We have discussed this a few days ago. Looks like it'd be great to experiment with ko!

The contributors working on falcoctl are also intrigued by the idea if it's not too disruptive of the development flow, which on paper shouldn't be and are happy to review the PR here. In addition, we don't really need to distribute different images unless we see a specific problem with those so the ko based image can be the official one if everyone's happy with the result.