mirror of
https://github.com/empayre/fleet.git
synced 2024-11-06 17:05:18 +00:00
91 lines
4.1 KiB
Markdown
91 lines
4.1 KiB
Markdown
# 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](https://fleetdm.com/docs/contributing/testing-and-local-development#license-key).
|
|
|
|
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](https://github.com/fleetdm/fleet/tree/main/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
|
|
```
|
|
|
|
<img width="1000" alt="Test users for a free account" src="https://user-images.githubusercontent.com/71795832/193676340-2b68aba2-802f-41a7-8817-5b704d5dedac.png">
|
|
|
|
### 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
|
|
```
|
|
|
|
<img width="1000" alt="Test users for a premium account" src="https://user-images.githubusercontent.com/71795832/193676358-2afc266a-aecf-472c-b854-51cefed4f7dc.png">
|
|
|
|
### 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
|
|
```
|
|
|
|
<img width="1000" alt="Users for designing in Figma" src="https://user-images.githubusercontent.com/71795832/193676371-d775e5a4-528b-4067-a025-3ce571b0be1f.png">
|
|
|
|
Each user generated by the script has its password set to `password123#`.
|
|
|
|
<meta name="pageOrderInSection" value="600">
|
|
|
|
## Related actions
|
|
|
|
### Import queries and policies
|
|
|
|
After seeding users and teams, check out [importing queries and policies](https://fleetdm.com/docs/using-fleet/standard-query-library#importing-the-queries-in-fleet) from Fleet's [standard query library](https://fleetdm.com/queries).
|
|
|
|
### 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](https://fleetdm.com/docs/using-fleet/fleetctl-cli#using-fleetctl-with-an-api-only-user).
|
|
|
|
### Create a single sign-on (SSO) user
|
|
|
|
> Set up [SMTP options](https://fleetdm.com/docs/contributing/testing-and-local-development#email) in your developer environment first to invite a SSO user.
|
|
|
|
Fleet supports [SSO users](https://fleetdm.com/docs/deploying/configuration#configuring-single-sign-on-sso). Create an [SSO test user](https://fleetdm.com/docs/contributing/testing-and-local-development#testing-sso) 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](https://github.com/fleetdm/fleet/tree/main/tools/osquery). As these Docker test hosts are RAM intensive, alternatively, you can use `osquery-perf` to create thousands of [simulated test hosts](https://github.com/fleetdm/fleet/tree/main/cmd/osquery-perf). |