falcosecurity / evolution

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

Donate alacuku/e2e-falco-tests to falcosecurity #282

Closed alacuku closed 1 year ago

alacuku commented 1 year ago

Repository: https://github.com/alacuku/e2e-falco-tests

Motivation

We need a testing framework for the Falco libs and drivers. It should test drivers (kmod, bpf and modern bpf) across a wide range of different kernel and distribution.

This repository is a starting point for such a framework. The solution is based on ansible playbooks and firecracker. It allows the creation of micro-vms which are based on a selected set of kernels and root filesystems which are packaged as OCI images. The ansible-playbook makes it easy to mix and match any kernel and any base image to create a VM. Once the VMs are up and running it transfers precompiled tests and runs them on every machine to make sure that our builds are compatible with a given set of kernels.

The playbooks have been developed to be run in local development machines and CI systems.

Example on how the machines are created starting from a given set of kernels and base images:

machines:
  - {name: "5.8.18",kernel: "docker.io/aldokcl/dronet:5.8.18-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.9.16",kernel: "docker.io/aldokcl/dronet:5.9.16-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.10.152",kernel: "docker.io/aldokcl/dronet:5.10.152-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.11.22",kernel: "docker.io/aldokcl/dronet:5.11.22-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.12.19",kernel: "docker.io/aldokcl/dronet:5.12.19-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.13.19",kernel: "docker.io/aldokcl/dronet:5.13.19-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.14.21",kernel: "docker.io/aldokcl/dronet:5.14.21-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.15.76",kernel: "docker.io/aldokcl/dronet:5.15.76-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.16.20",kernel: "docker.io/aldokcl/dronet:5.16.20-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.17.15",kernel: "docker.io/aldokcl/dronet:5.17.15-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.18.19",kernel: "docker.io/aldokcl/dronet:5.18.19-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "5.19.17",kernel: "docker.io/aldokcl/dronet:5.19.17-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "6.0.6",kernel: "docker.io/aldokcl/dronet:6.0.6-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "6.1.0",kernel: "docker.io/aldokcl/dronet:6.1-amd64", image: "{{ defaultBaseImage }}"}
  - {name: "6.2.0",kernel: "docker.io/aldokcl/dronet:6.2-amd64", image: "{{ defaultBaseImage }}"}

The following issuer describes in detail the testing-framework:` falcosecurity/libs#1191

incertum commented 1 year ago

+1 :heart:

jasondellaluce commented 1 year ago

+1

leogr commented 1 year ago

big +1 :star_struck:

maxgio92 commented 1 year ago

+1 lovely

LucaGuerra commented 1 year ago

This is FANTASTIC :star_struck: +1

FedeDP commented 1 year ago

+1 from me of course!

leogr commented 1 year ago

PS I volunteer to be a maintainer of this repo, if you need any help

Andreagit97 commented 1 year ago

+1 :heart_eyes:

FedeDP commented 1 year ago

The repo has been successfully donated. We can close this one.