## 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 -->
2.1 KiB
Note
Prefer
dibblefor seeding teams. The equivalent is:./tools/dibble/dibble teams --count NThis tool is kept for backwards compatibility (it also generates installer packages, which dibble does not). We'll remove it once no one references it.
Fleet fleet builder
Using a list of fleets (formerly "teams") in a file as input, adds the listed teams to Fleet and generates installer processes.
For each team, an enroll secret will be created, the team added to Fleet using the team yaml template, and .msi,.deb, .pkg and .rpm installer packages will be created.
Requirements
fleetctl Docker (for generating Windows installers)
Flags
Required flags:
- -s: The source file containing teams to be added.
- -u: The url of the Fleet server.
Optional flags:
- -p: packages - Default: "all" - The types of installer packages to create for each team.
- -f: flags - Additional flags to apply to
fleetctl package. - -o: output - Default: Current location - Directory in which to place the generated packages.
- -x: dry_run - Test prossesing the file, creating the team in Fleet, and generating packages without applying any changes to the server.
Usage
-
Install and log in to fleetctl
-
Install and start Docker
-
Create a file including a list of teams, one per line:
Workstation
Canary
Servers
- Run the script and pass the Fleet Server URL and source file as arguments:
$ ./build_teams.sh -s teams.txt -u fleet.org.com
Team configuration
The teams generated with this script will use your global agent options. You can apply team settings after the team has been created.
Testing
To test team creation and package generation without applying the changes to Fleet, include the -x flag. This will add the --dry_run flag to fleetctl apply. All actions will be taken, but the generated team configuration YAML will be validated without creating the new team.