Files
Andrew Mellor fc39ff2ba9 Revise seeding data documentation structure and expanded hosts overview (#44642)
Updated the seeding data documentation to improve clarity and
organization, expanding hosts overview.
2026-05-08 15:45:04 -05:00

5.3 KiB

Seeding data

When developing Fleet, it may be useful to create seed data that includes users and fleets.

Setup

In order to run scripts that make use of premium features, make sure you have started the server with the correct flags as described in Testing.

Create an environment variable file

First, create an env file with the following contents:

export SERVER_URL=https://localhost:8080 # your Fleet server URL and port
export CURL_FLAGS='-k -s' # set insecure flag
export TOKEN=eyJhbGciOi... # your api token

Note: store the env file somewhere you won't commit your token, or apply these 3 environment variables directly in the command line.

Apply your environment variable file

Set the FLEET_ENV_PATH to point to the env file.

export FLEET_ENV_PATH=./path/to/env/file/fleet_env

This will let the scripts in the /tools/api/fleet/ folder source the env file.

Seeding users

Check out this Loom demo video that walks through creating fleets (formerly "teams") seed data: https://www.loom.com/share/1c41a1540e8f41328a7a6cfc56ad0a01

For a text-based walkthrough, follow these steps:

Run one of the bash scripts located in the /tools/api directory.

Seed free users

The fleet/create_free script will generate an environment to roughly reflect an installation of Fleet Free. The script creates 3 users with different roles. From the fleet directory, run:

./tools/api/fleet/teams/create_free
Test users for a free account

Seed premium users

The fleet/create_premium script will generate an environment to roughly reflect an installation of Fleet Premium. The script will create 2 fleets of 7 users with different roles. From the fleet directory, run:

./tools/api/fleet/teams/create_premium
Test users for a premium account

Seed designing users

The fleet/create_figma script will generate an environment to reflect the mockups in the Fleet EE (current) Figma file. The script creates 3 fleets and 12 users with different roles. From the fleet directory, run:

./tools/api/fleet/teams/create_figma
Users for designing in Figma

Each user generated by the script has its password set to password123#.

Import queries and policies

After seeding users and fleets, check out importing queries and policies from Fleet's library.

Create an API-only user

Like all regular users, seeded users' API tokens expire frequently. For an API token that does not expire, create an API-only user.

Create a single sign-on (SSO) user

Set up SMTP options in your developer environment first to invite a SSO user.

Fleet supports SSO users. Create an SSO test user to test signing on with simple SAML.

Seeding test hosts

There are three ways to create test hosts in your local development environment:

Method Best for Platforms Resource usage
osquery-perf Simulating many hosts at scale macOS, Windows, Linux, iOS, iPadOS Low
Docker test hosts Testing with real osqueryd instances CentOS, Ubuntu High (RAM-intensive)
fleetctl preview Quick demos and exploration macOS (simulated) Medium

osquery-perf

A lightweight Go tool that simulates thousands of hosts from a single machine.

  • Supports macOS, Windows, Linux, iOS, and iPadOS via --os_templates
  • iOS/iPadOS devices enroll via MDM (requires local MDM setup and SCEP challenge)
  • Control host count, enrollment rate, query intervals, and agent behavior
  • First-time setup requires building a software database

See the full osquery-perf README for usage instructions and available flags.

Docker test hosts

Runs real containerized osqueryd instances. More realistic but limited to a handful of hosts due to memory usage.

cd tools/osquery
ENROLL_SECRET=<YOUR_ENROLL_SECRET> docker-compose up

See the Docker test hosts for scaling options and platform-specific instructions.

fleetctl preview

Starts a complete Fleet environment with pre-configured simulated hosts in one command. Not recommended for development testing.

fleetctl preview

See fleetctl preview --help for available options.