falcosecurity / evolution

Evolution process of The Falco Project
Apache License 2.0
46 stars 37 forks source link

Falco Graduation Path: Progress Tracker #281

Closed leogr closed 8 months ago

leogr commented 1 year ago

In alignment with the suggestions from our TOC sponsors, we're actively focusing on specific areas to improve The Falco Project, aiming to be fully prepared for the forthcoming Graduation Public Comment phase.

Comprehensive details of the proposed path are outlined in the following document :point_down:

https://docs.google.com/document/d/12l65c6qC91akgFjzw7BM3KdNJAa5LyDG17sdpdfwf3g/edit?usp=sharing

This issue serves as a tracker for all related activities (see the task lists below).

Get Feedback

- [x] Reach out to Taylor Dolezal
- [x] Understand how adopters use Falco
- [ ] https://github.com/falcosecurity/falco-website/issues/1036
- [ ] https://github.com/falcosecurity/falco-website/pull/1089
- [ ] https://github.com/falcosecurity/falco-website/pull/1070

Tech Writing / Documentation

We will use #falco-docs channel on the CNCF Slack to discuss those efforts.

- [x] File a service desk ticket with CNCF requesting a technical writer
- [ ] https://github.com/falcosecurity/falco-website/issues/1003
- [ ] https://github.com/falcosecurity/evolution/issues/271
- [ ] https://github.com/falcosecurity/falco-website/issues/1004
- [ ] https://github.com/falcosecurity/falco-website/issues/1006
- [ ] https://github.com/falcosecurity/falco-website/issues/1009
- [ ] https://github.com/falcosecurity/falco-website/issues/985
- [ ] https://github.com/falcosecurity/falco-website/issues/1031
- [ ] https://github.com/falcosecurity/falco-website/issues/1063
- [ ] https://github.com/falcosecurity/falco-website/issues/1007
- [ ] https://github.com/falcosecurity/falco-website/issues/1008
- [ ] https://github.com/falcosecurity/falco-website/issues/1005
- [ ] https://github.com/falcosecurity/falco/pull/2594
- [ ] https://github.com/falcosecurity/falco-website/pull/1069
- [ ] https://github.com/falcosecurity/falco-website/pull/1097
- [ ] https://github.com/falcosecurity/falco-website/pull/1085
- [ ] https://github.com/falcosecurity/falco-website/pull/1078
- [ ] https://github.com/falcosecurity/falco-website/pull/1077
- [ ] https://github.com/falcosecurity/falco-website/pull/1072
- [ ] https://github.com/falcosecurity/falco-website/pull/1090
- [ ] https://github.com/falcosecurity/falco-website/pull/1096
- [ ] https://github.com/falcosecurity/falco-website/pull/1099
- [ ] https://github.com/falcosecurity/falco-website/pull/1094
- [ ] https://github.com/falcosecurity/falco-website/pull/1106
- [ ] https://github.com/falcosecurity/falco-website/pull/1108

Use Case Development

Develop two primary use cases

- [x] Detection use case published
- [x] Compliance use case published
- [ ] https://github.com/falcosecurity/falco-website/issues/1035
- [ ] https://github.com/falcosecurity/falco-website/pull/1027
- [ ] https://github.com/falcosecurity/falco-website/pull/1049
- [ ] https://github.com/falcosecurity/falco-website/pull/1054

Kernel Version Testing

- [x] File a service desk ticket with CNCF requesting resources to perform kernel version testing
- [x] CNCF has provided resources to run tests in our CI
- [ ] https://github.com/cncf/cluster/issues/240
- [ ] https://github.com/falcosecurity/libs/issues/1191
- [ ] https://github.com/falcosecurity/libs/pull/1090
- [ ] https://github.com/falcosecurity/libs/pull/524
- [ ] https://github.com/falcosecurity/libs/pull/1131

Rule Modularity/Assumptions

- [ ] https://github.com/falcosecurity/rules/issues/101
- [ ] https://github.com/falcosecurity/libs/pull/1095
- [ ] https://github.com/falcosecurity/rules/pull/76
- [ ] https://github.com/falcosecurity/rules/pull/115
- [ ] https://github.com/falcosecurity/rules/pull/102
- [ ] https://github.com/falcosecurity/rules/pull/103
- [ ] https://github.com/falcosecurity/rules/pull/106
- [ ] https://github.com/falcosecurity/rules/pull/108
- [ ] https://github.com/falcosecurity/rules/pull/109
- [ ] https://github.com/falcosecurity/rules/pull/110
- [ ] https://github.com/falcosecurity/rules/pull/112
- [ ] https://github.com/falcosecurity/rules/pull/113
- [ ] https://github.com/falcosecurity/rules/pull/114
- [ ] https://github.com/falcosecurity/rules/pull/122
- [ ] https://github.com/falcosecurity/rules/pull/125
leogr commented 11 months ago

Status Update

I'm delighted to announce that we've completed all the action items recommended by our TOC sponsors (@TheFoxAtWork and @justincormack) and are on track with the proposed July and August timeline! Of course, this early completion doesn't imply a slowdown in our commitment to improving the project. Instead, it's renovated with the invaluable knowledge we've acquired from our experiences over the past few months.

As we reach this significant milestone, I've detailed a comprehensive, step-by-step status update below. I hope this information proves useful to you.

I've got to give a big shout-out to every person in the Falco community and the extended CNCF family who has been involved in this effort. Your contributions and support have made these initiatives fly. A special thank you goes to @nate-double-u for the help he's provided us.

cc @falcosecurity/core-maintainers

Get Feedback

Under the guidance of Taylor Dolezal, we've engaged multiple end-users to gather their feedback on Falco usage. We've established a robust process for receiving end-user feedback, including interviews with specific sets of questions aimed at understanding how Falco is used within their respective architectures. These interviews are converted into end-user case studies which we will continue to publish on https://falco.org/about/ecosystem/ as well as linking them from the falco.org home page.

Activities completed include:

Technical Writing / Documentation

In collaboration with Nate Waddington, we've worked on improving the Falco messaging and enhancing the quality of the Falco documentation, particularly focusing on new user onboarding. Based on his feedback and assessment, we've simplified and updated the Falco getting started guide and provided clear instructions on adopting Falco, including what additional projects users will need to make the most of Falco. Almost all of the website has been revised and improved. For full detail, see the related task list above.

Completed activities worth mentioning include:

Use Case Development

We have increased clarity on Falco use cases and added two primary use cases on a dedicated falco.org/about/use-cases/ page.

Completed activities include:

Kernel Version Testing

We've successfully implemented our Driver Kernel Testing Framework proposal. This effort includes the creation of a specific falcosecurity/kernel-testing sub-project featuring Ansible playbooks and Dockerfiles to manage FireCracker microVMs for testing drivers against a range of distros/kernel versions. We've also established CI jobs on the falcosecurity/libs repository to execute tests and generate a markdown table with the results on GitHub pages: https://falcosecurity.github.io/libs/matrix/. The CI is impressively speedy, completing runs in approximately 15 minutes. This accomplishment was made possible thanks to the CNCF Community Infrastructure Lab (CIL), which we leverage to run our CI jobs for kernel testing.

Lastly, we're also considering further enhancements beyond the initial scope of this initiative. So, stay tuned!

Rule Modularity/Assumptions

Building upon the Falco Rules Adoption, Management, and Maturity Framework proposal, we have made substantial progress in the adoption of Falco rules. We have successfully established a rule maturity framework and completed a comprehensive round of tagging and enhancing rules. This includes augmenting descriptions and providing tuning advice for stable rules. The newly introduced style guide has been applied to existing rules.

To streamline the adoption process, we've put forth a thorough style guide and an adoption guide on our website. We have also included a dedicated contributing guide within the rules repository to facilitate participation from contributors. To improve accessibility for adopters, we've introduced an overview document and improved cross-links to official documentation on our website.

Looking ahead, we're working on additional enhancements that are currently in the pipeline, expected to be completed by the Falco 0.36 release.

TheFoxAtWork commented 10 months ago

Awesome this is great! You all are on track for a Sept release? I want to verify the changes you've put in place with that release to confirm and wrap things up. CC @justincormack

leogr commented 10 months ago

Hey @TheFoxAtWork

Thank you! :pray:

Yes, we're on track for the Falco 0.36 release, due by September 29th. I can confirm that all the items mentioned will be included in this release. Currently, we're in the final stages of wrapping up various sub-components, such as the libs, rules, etc. This phase concludes around the end of August. From September, we'll transition into the "Release Preparation" iteration, focusing on thorough testing, addressing bugs, if any, and minor improvements. You can view a detailed breakdown on our high-level roadmap.

leogr commented 8 months ago

Status update:

/close

poiana commented 8 months ago

@leogr: Closing this issue.

In response to [this](https://github.com/falcosecurity/evolution/issues/281#issuecomment-1772835296): >Status update: >- We can close this tracking issue since the [vote passed](https://github.com/cncf/toc/pull/956#issuecomment-1763783382). >- We're now just waiting for CNCF GB & LC resolutions of a couple of license exception requests (see https://github.com/cncf/foundation/issues/629 and https://github.com/cncf/foundation/issues/645), then we can finally move to the graduation level :partying_face: > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.