-
Notifications
You must be signed in to change notification settings - Fork 912
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ROADMAP - Build slim and full Falco container images #776
Conversation
Note that the Falco application images can be tested by using the You can test by running the following:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a superb start! I'll be happy to test it in K8s v1.11.10 in AWS 🎉
@JPLachance: changing LGTM is restricted to assignees, and only falcosecurity/falco repo collaborators may be assigned issues. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@JPLachance I've pushed the httploader initContainer. This replicates the current method of pulling kernel modules from S3. Look at the updated k8s daemonset to see how to configure. |
d952e4b
to
12425c3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job! We are almost there! 🎉
# value: "https://s3.amazonaws.com/download.draios.com/stable/sysdig-probe-binaries/" | ||
containers: | ||
- name: falco | ||
image: falcosecurity/falco-minimal:latest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to update Falco rules to allow those new images to run with the --privileged
flag?
https://github.com/falcosecurity/falco/blob/dev/rules/falco_rules.yaml#L1751
I think yes, but I'm not sure.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, we will need this.
_p0, err := unix.BytePtrFromString("") | ||
|
||
if _, _, err := unix.Syscall(313, file.Fd(), uintptr(unsafe.Pointer(_p0)), 0); err != 0 { | ||
log.Fatalf("Error loading kernel module: %s. The module may already be loaded.", path) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the kernel module is already loaded for some reason, how does a Falco user fix it? I think we should add a link to some documentation in the log.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing that the current probe loader does is remove the loaded module. We could do this as well, with a retry loop and timeout.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's an initial review, thanks for working on this @mfdii !
I also think we need a readme on how to use it but didn't know where to commentt this
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some nits
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another nit
e248b25
to
d5f8b83
Compare
Co-Authored-By: Leonardo Di Donato <leodidonato@gmail.com> Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-Authored-By: Leonardo Di Donato <leodidonato@gmail.com> Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-Authored-By: Leonardo Di Donato <leodidonato@gmail.com> Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-Authored-By: Leonardo Di Donato <leodidonato@gmail.com> Signed-off-by: Lorenzo Fontana <lo@linux.com>
Co-Authored-By: Leonardo Di Donato <leodidonato@gmail.com> Signed-off-by: Lorenzo Fontana <lo@linux.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎉
LGTM label has been added. Git tree hash: 2851f34f65c67c607edf8be621c502ae5d6732ba
|
@mfdii me and @leodido took over to continue this PR. We moved the The docker image reflects that. It is pushed following the same versioning as falco, so now we have:
Also instead of having a different image repository for every E.g: for falco 0.18.0 we will have
And for latest
Those slim and minimal images will not be pushed for old falco versions, like 0.17.1 but starting from 0.18.0, the milestone attached to this PR. The Release process is NOT automated and we have a work item on that #726 |
lgtm |
@mfdii: you cannot LGTM your own PR. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Co-authored-by: Lorenzo Fontana <lo@linux.com> Signed-off-by: Leonardo Di Donato <leodidonato@gmail.com>
As planned during last meetings we are going to merge this PR. @mfdii : there are some missing points/goals listed in the PR corpus, what's the planning for those? I propose to open issues to track them, first of all. |
LGTM label has been added. Git tree hash: 89fbc0566bfc3da02c532e95f0a01edb3774ba4a
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: fntlnz, kris-nova, leodido The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Signed-off-by: Michael Ducy michael@ducy.org
What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area deployment
What this PR does / why we need it:
The current Falco images are quite large (720 MB) and carry lots of build tools that we want to remove from the current image. The build tools are required to compile kernel modules dynamically when the Falco container starts.
Under the new design we wish to remove the build tools and create two image categories:
falcosecurity/falco-minimal
- only required executables and libraries (~19.5mb)falcosecurity/falco-slim
- Distribution based image (~224mb)Other tasks before this PR is complete:
Which issue(s) this PR fixes:
Fixes #532
Does this PR introduce a user-facing change?: