fleet
fleet copied to clipboard
The right stuff: All new Fleet instances come pre-populated
Goal
| User story |
|---|
| As a new Fleet user trying Fleet for the first time, |
| I want my Fleet instance to be pre-populated with resources like queries and policies |
| so that I can more easily understand Fleet's value. |
Key result
Q2 OKR: The right stuff
Original requests
- fleetdm/confidential#10153
Context
- Product Designer: @noahtalerman
- Engineer: @lukeheath
- This user story supports integrating new YAML libraries.
- It is required to meet a Q2 OKR, which mean it needs to be ready for the next sprint in order to deliver in June.
Changes
Product
- [x] Every new Fleet server gets these starter queries, policies, scripts, and teams to all new Fleet instances. PR is https://github.com/fleetdm/fleet/pull/29564.
- [x] UI changes: No changes
- [x] CLI (fleetctl) usage changes: No changes
- [x] YAML changes: No changes
- [x] REST API changes: No changes
- [x] Fleet's agent (fleetd) changes: No changes
- [x] GitOps changes: No changes
- [x] Activity changes: No changes
- [x] Permissions changes: No changes
- [x] Changes to paid features or tiers: No changes
- [x] My device and fleetdm.com/better changes: No changes
- [x] First draft of test plan added
- [x] Other reference documentation changes: No changes
- [x] Once shipped, requester has been notified
- [x] Once shipped, dogfooding issue has been filed
Engineering
- [x] Test plan is finalized
- [x] Contributor API changes: No changes
- [x] Feature guide changes: No changes
- [x] Database schema migrations: No changes
- [x] Load testing: No changes
ℹ️ Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".
QA
Risk assessment
- Requires load testing: No
- Risk level: Low
Test plan
Make sure to go through the list and consider all events that might be related to this story, so we catch edge cases earlier.
- [x] Spin up a new Fleet Free instance. Make sure the queries, policies, and scripts are added.
- [x] Spin up a new Fleet Premium instance. Make sure the queries, policies, scripts, and teams are added.
- [x] After a couple minutes make sure the query reports show some data.
Testing notes
Confirmation
- [x] Engineer: Added comment to user story confirming successful completion of test plan.
- [x] QA: Added comment to user story confirming successful completion of test plan.
@noahtalerman I also failed to put this on the drafting board, which didn't help. In retrospect, I should have tagged with P1 and put on the drafting board to make sure it was seen.
@lukeheath since you're building the apply, I assigned this user story to you but left it on the drafting board (in progress column).
Please let me know if I can help! With QA or anything else.
@noahtalerman This is pretty much good to go, just getting PR review.
Spin up a new Fleet Free instance. Make sure the queries, policies, and scripts are added.
I've tested on free, and it works without problem, but because most of the specs are under a team, those fail to apply. The result is a free instance will only get one query. For this reason it may be worth adding one query, one policy, and one script at the root level so it gets applied to free.
@noahtalerman This is ready for QA! To test effectively you'll need to be able to stand up a Fleet server locally. Is that something you can do? If not, maybe I can show you at the offsite?
@georgekarrv Do you mind if I put this on MDM board for QA? if you're available to help QA after the offsite that'd be great.
I've tested on free, and it works without problem, but because most of the specs are under a team, those fail to apply. The result is a free instance will only get one query. For this reason it may be worth adding one query, one policy, and one script at the root level so it gets applied to free.
@lukeheath tested on Free and Premium.
I opened a PR to add the same scripts to Fleet Free ("No team" for Fleet Premium). I'll test one more time once that PR is merged and then move this story to ready for release.
I decided not to add policies to "All teams" because there are no best practice policies to add to the "All teams" (inherited) level. @allenhouchins please correct me if I'm wrong here. We don't have a policy applied to "All teams" in dogfood.
QA Test Results -
Fleet Premium:
- confirmed I see the following teams - No team, Servers, Servers (canary), Workstations, Workstations (canary), Company-owned mobile devices
- Confirmed I see relevant scripts for the expected teams
- Confirmed I see relevant queries and policies within each team
- After sometime, confirmed Query and Policy data was present
Fleet Free:
- queries = confirmed I see "collect OS information"
- After sometime, confirmed query data was present
- scripts = confirmed I see the three scripts to uninstall fleetd on windows, mac and Linux
- policies = decision was made to not add a policy
Note: I don't think any changes were expected for Fleet preview so just wanted to document that I still see the following when spinning that up:
- 50 queries were populated
- 44 policies
- 5 osqueryperf hosts
- no scripts
I am adding engineer comment that I have manually QA'd this user story.
New to Fleet's realm, Pre-populated with care, Ease blooms, no overwhelm.