## Overview `dibble` is a one-stop CLI for seeding a Fleet server with test data — users, teams, policies, reports, labels, scripts, MDM profiles, software, secrets, CAs, and vulns — replacing ~8 ad-hoc seeding tools with a single binary. It makes it easy to: - **Spin up a populated dev/test server in one command** — `dibble all` plants everything with sensible, idempotent defaults. - **Skip the flag-memorization** — running `dibble` with no args launches an interactive wizard that prompts for Fleet URL, API token, theme, and which entities to seed, and offers to save the config to `~/.dibble.yaml`. - **Seed individual entity types** — `dibble users`, `dibble teams`, `dibble policies`, etc., when you only need one slice. - **Get themed, recognizable test data** — pick a theme (hitchhikers, tng, lotr, ghibli, parksrec, …) so seeded names are easy to eyeball in the UI. Hosts are intentionally out of scope — `cmd/osquery-perf` still owns that. `dibble hosts` is a thin convenience wrapper that picks a fleet, fetches its enroll secret, and prints/runs the osquery-perf invocation for you. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Dibble: a CLI tool to seed realistic test data, including an interactive wizard and subcommands for teams/users/software/policies/scripts/reports/profiles/labels/activities/enroll-secrets/hosts/vulns, plus theme-driven “cas” and “ping”. * Theme system: multiple curated themes to generate consistent seeded identities, policies, software, labels, and scripts. * **Chores** * Ignored the built dibble binary and added a Makefile build target to compile the dibble tool. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Note
Prefer
dibblefor seeding vulnerable software. The equivalent is:./tools/dibble/dibble vulns --macos 100 --ubuntu 100 --windows 100dibble embeds the same CSVs and writes to MySQL directly, just like this tool. This script is kept for backwards compatibility.
Vulnerability Data Seeder
The purpose of seed_vuln_data.go is to provide developers an easy way to insert hosts and software
into your local development Fleet server without needing a real host or osquery-perf
Usage
-
Ensure your local development environment is running using
docker-compose upandfleet serve -
Optional: Review and modify the software titles in the following files in this folder:
- software_macos.csv
- software_ubuntu.csv
- software_win.csv
Comma seperated values align directly with the columns in the
softwaretable in MySQL -
Run the data seeder
go run ./tools/software/vulnerabilities/seed_data/seed_vuln_data.go --ubuntu 1 --macos 1 --windows 1 --linux-kernels 1
You should now see new hosts with the configured software attached in the UI and database. This tool is idempotent as it will not create duplicate hosts or software titles if run multiple times, however it will not delete software if removed from the CSV files.