fleet/docs/Contributing/Seeding-Data.md

4.1 KiB

Seeding data

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

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.

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

For a text-based walkthrough, follow these steps:

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

Next, set the FLEET_ENV_PATH to point to the env file using the command line.

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.

Run one of the bash scripts to seed the data

Finally, 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 teams 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 teams 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 teams, check out importing queries and policies from Fleet's standard query 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.

Create test hosts

To create a handful of test hosts, you can run containerized osqueryd Docker test hosts. As these Docker test hosts are RAM intensive, alternatively, you can use osquery-perf to create thousands of simulated test hosts.