-
Notifications
You must be signed in to change notification settings - Fork 977
Description
Motivation
As discussed during the today community call, on docker hub we still have the falcosecurity/probeloader docker image, while we removed its source from the repo.
This was done during the review process of docker images (#1019) and artifacts (#1114).
Since we want to install and use Falco in a security-oriented way we don't want its falcosecurity/falco docker container to run with --privileged.
To achieve this we can
- use an init container (that just run for an amount of time with privileges)
1.1 it looks for the correct driver or it builds one if it's not able to find one (through thefalco-driver-loaderscript that already behaves like so)
1.2 it ships the whole toolchain to build drivers (that currently is inside thefalcosecurity/falcoimage too - run
falcosecurity/falcojust mounting the driver devices without--privileged(whichfalcosecurity/falcotag - `falco we want to run here depends on the following choices in the additional context)
Feature
Introduce a falcosecurity/driverloader image that wraps the falco-driver-loader script and contains the toolchain that is (optionally) needed to build the driver in case it's not a prebuilt one.
So, to recap the final situation will be:
falcosecurity/falco:lateststay as it is to cover the use case "run in 1 minute"falcosecurity/driverloaderwill contain the thefalco-driver-loaderscript and the toolchain to eventually build the driver, it will need to be run with--privileged, it will serve as an init containerfalcosecurity/probeloadergets removed from the docker hub toofalcosecurity/falco:latest-slimis the image containing only Falco to be run after the init container
Alternatives
Remove the falcosecurity/probeloader docker image also from docker hub and leave to users and adopters the choice.
Additional context
At this point, about the falcosecurity/falco image we'll have two possible paths.
- remove the toolchain needed to build the driver making the image slimmer
- remove also the
falcosecurity/falco:latest-slimimage which would be not needed anymore
OR
- keep it as is and just advertise to use
falcosecurity/falco:slimafter the init container run.
I vote for option 1 as written basically in the corpus of this issue.