A go tool to work with falcosecurity drivers build grid
Go to file
dependabot[bot] 7211eae083 chore(deps): Bump anchore/sbom-action in the actions group
Bumps the actions group with 1 update: [anchore/sbom-action](https://github.com/anchore/sbom-action).


Updates `anchore/sbom-action` from 0.20.2 to 0.20.4
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](cee1b8e05a...7b36ad622f)

---
updated-dependencies:
- dependency-name: anchore/sbom-action
  dependency-version: 0.20.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-28 13:26:05 +02:00
.github chore(deps): Bump anchore/sbom-action in the actions group 2025-07-28 13:26:05 +02:00
cmd update: bumped driverkit to v0.20.0. 2024-07-30 17:23:40 +02:00
pkg fix(pkg/build): fixed TestBuild with new `arch` distro driverkit format. 2025-04-14 09:39:32 +02:00
.gitignore chore(pkg): added cleanup tests and validate tests. 2023-08-25 12:54:03 +02:00
.goreleaser.yaml chore(ci): set ldflags for goreleaser from env. 2023-09-27 14:03:13 +02:00
LICENSE Initial commit 2023-08-25 11:33:48 +02:00
Makefile update: bumped driverkit to 0.21.0. 2025-04-14 09:39:32 +02:00
OWNERS chore: update OWNERS and README to get ready for falcosecurity donation. 2023-09-14 15:02:06 +02:00
README.md fix(docs): updated README badge and links. 2023-09-26 15:33:07 +02:00
go.mod update: bumped driverkit to 0.21.0. 2025-04-14 09:39:32 +02:00
go.sum update: bumped driverkit to 0.21.0. 2025-04-14 09:39:32 +02:00
main.go new(ci,pkg,cmd): bumped driverkit to v0.19.0. 2024-05-02 08:57:56 +02:00
release.md chore: renamed fededp to falcosecurity. 2023-09-26 15:33:07 +02:00

README.md

dbg-go

Falco Infra Repository Incubating License

CI build Latest Architectures Go Report Card

A go tool to work with falcosecurity drivers build grid.

The tool implements, under the configs subcmd:

  • configs generation (comprehensive of automatic generation from kernel-crawler output)
  • configs cleanup
  • configs validation
  • configs stats
  • configs build (using driverkit libraries)

Moreover, under the drivers subcmd:

  • remote driver stats
  • remote driver cleanup
  • remote driver publish

CLI options

Multiple CLI options are available; you can quickly check them out with ./dbg-go --help, or using --help on any sub command.

A command line helper tool used by falcosecurity test-infra dbg.

Usage:
  dbg-go [command]

Available Commands:
  completion  Generate the autocompletion script for the specified shell
  configs     Work with local dbg configs
  drivers     Work with remote drivers bucket
  help        Help about any command

Flags:
  -a, --architecture string           architecture to run against. Supported: [amd64,arm64] (default "amd64")
      --driver-name string            driver name to be used (default "falco")
      --driver-version strings        driver versions to run against.
      --dry-run                       enable dry-run mode.
  -h, --help                          help for dbg-go
  -l, --log-level string              set log verbosity. (default "INFO")
      --repo-root string              test-infra repository root path. (default "/home/federico/Work/dbg-go")
      --target-distro string          target distro to work against. By default tool will work on any supported distro. Can be a regex.
                                      Supported: [almalinux,amazonlinux,amazonlinux2,amazonlinux2022,amazonlinux2023,bottlerocket,centos,debian,fedora,minikube,talos,ubuntu].
      --target-kernelrelease string   target kernel release to work against. By default tool will work on any kernel release. Can be a regex.
      --target-kernelversion string   target kernel version to work against. By default tool will work on any kernel version. Can be a regex.

Use "dbg-go [command] --help" for more information about a command.

As you can see, global options basically reimplement all dbg Makefile filters.

Build

A simple make build in the project root folder is enough.

Test

Given the project aims at making our dbg code testable, there are already quite a few tests implemented.
To run them, a simple make test issued from project root folder is enough.

Release artifacts

Using goreleaser, multiple artifacts are attached to each github release; among them, you can find executables for arm64 and amd64.

Examples

Fetch stats about local dbg configs for all supported driver versions by test-infra, for host architecture
./dbg-go configs stats --repo-root test-infra
Fetch stats about remote drivers for 5.0.1+driver driver version, for host architecture
./dbg-go drivers stats --driver-version 5.0.1+driver
Validate local configs for 5.0.1+driver driver version, for arm64
./dbg-go configs validate --driver-version 5.0.1+driver --architecture arm64
Generate configs for all supported driver versions by test-infra from kernel-crawler output, for host architecture
./dbg-go configs generate --repo-root test-infra --auto
Build all x86_64 5.0.1+driver configs, publishing them to s3
./dbg-go configs build --repo-root test-infra --driver-version 5.0.1+driver --publish
Publish locally built drivers for aarch64 for all supported driver versions by test-infra
./dbg-go drivers publish --repo-root test-infra --architecture arm64

NOTE: all commands that require s3 write access, need proper env variables (AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY) exported.

Bumping driverkit

To bump driverkit, you just need:

make bump-driverkit DRIVERKIT_VER=vX.Y.Z