fleet
fleet copied to clipboard
Add 14 day Fleet Premium trial to `fleetctl preview`
Goal
| User story |
|---|
As someone evaluating Fleet using fleetctl preview, |
| I want to use Fleet Premium features for 14 days |
| so that I can evaluate Fleet Premium for 2 weeks. |
Context
- Requestor(s): @mikermcneil
How?
- [ ] @noahtalerman: We can update fleetdm.com's license key generator to provide 14 day licenses and use the
--license-keyflag infleetctl preview
@RachelElysia or @jacobshandling if you have time, could one of you help figure out if there's any UI on the dashboard that is only shown when running fleetctl preview? When I first started it up, I saw some different cards in the dashboard with links to the docs and such, but I haven't figured out how to get that UI to show up again. Not sure if it's preview-specific or some sort of empty state.
@RachelElysia @jacobshandling to follow up on the comment above: I managed to get screenshots of the alternate dashboard states through some combo of starting a fresh preview/deleting hosts/refreshing at just the right moment:
Now the question is: do you know if any of those states are specific to fleetctl preview?
@rachaelshaw, tl;dr - it doesn't seem any of these states are specific to fleetctl preview
The "Welcome to Fleet" and "Learn how to use Fleet" cards are rendered when the instance has < 2 hosts enrolled.
If the above condition is satisfied, there are various sub-conditions that will lead to different content of the "Welcome" card:
@rachaelshaw cc: @jacobshandling
Yeah, IIRC those states are not specific to fleetctl preview, I don't think we have anything specific to fleetctl preview. We put all our eggs into fleet sandbox UI 16 months ago and have been removing all of it starting ~6 months ago.
Following the variable isPreviewMode in app context. It looks like the only UI that changes currently for preview mode is a forced email/password to login for preview mode and no loading of a certificate for the add host modal.
We probably have the information about the license-expiry. Need to add an API and present the"days left" in UI.
FE - 3 BE - 8
@rachaelshaw, in response to your question on Slack, I have added my recommendation to 🚧 Scratchpad in your Figma file. (Posting here for quick reference)
@sharon-fdm shoot, unless I'm missing something I think this story never made it to the release board (ZenHub bug?) and thus we never started working on it.
If that's right can you please move it back to the drafting board and assign me? Thanks.
FYI @lukeheath @rachaelshaw
@noahtalerman I'm seeing it on the current sprint board, but yeah looks like it was added a month ago according to when those labels were assigned, so should have gone back through Feature Fest if it was never worked on, right? 🤔
Dang...
@rachaelshaw I added this back to the drafting board so we can get it moving sooner. Added it to "Prioritized" and assigned you. Can you please check to see if designs are stale? If they're not, I think we can move it to "Settled" and try to get it re-estimated this sprint.
FYI @sharon-fdm and @jacobshandling ^^
Oh my. I'll need to check how this happened. @noahtalerman, tell me if you want to run it through product or swap something out.
Whoops forgot to assign you @rachaelshaw!
@sharon-fdm the plan is to bring it through drafting and re-estimate to make sure it's not stale: https://github.com/fleetdm/fleet/issues/18869#issuecomment-2207465748
Can you please check to see if designs are stale? If they're not, I think we can move it to "Settled" and try to get it re-estimated this sprint.
@noahtalerman I just reviewed the designs; needed to pull in the updated dashboard styles from #19319 but other than that, all the changes/dev notes should still be the same.
Thanks @rachaelshaw!
I assigned this one back to @sharon-fdm and removed the old estimate (13).
Thanks @noahtalerman! Will re-estimate soon.
Maybe a new license type? (instead of premium/free, "preview")
@noahtalerman @sharon-fdm One option would be to not offer an enhanced preview experience, and instead just behind the scenes start Fleet with the --dev_license flag if it's less than 14 days since they first started it. I think that would be a 2-3 pointer.
@lukeheath if we can go this way I agree that should be simpler. @getvictor @mostlikelee @lucasmrod tell me what you think about Luke's suggestions
fleet serve is initiated from a docker-compose but we could possibly pass the launch command in as env var, however that will only work if fleet preview is called multiple times (ie. if you only run it 1x and keep it up, the trial period will never expire)
Since fleetctl doesn't have any local storage, that also assumes it's ok to write a timestamp to disk, which may be too easy to remove and start the trial over again.
@mostlikelee, Valid point, though I would not assume any company would do illegal tricks. @noahtalerman @lukeheath tell us what you think.
One point to note is that we deliberately do not collect metrics from servers that have the dev flag into DataDog. (But we could dig in Heroku if we'd like) Is that a problem?
It could be abused, but so far that hasn't been a problem for us. Good feedback for the drafting process, though! I think right now, the benefit in speed is worth the risk of someone abusing the timestamp.
Moving the issue description from when this issue was estimated and planned to be addressed by the Endpoint ops team (estimated at 13) here:
Changes
Product
- [ ] UI changes: Figma
- [ ] CLI usage changes:
- When a user runs
fleetctl preview, generate a premium license that expires in 14 days - Update pre-populated data: add teams (see Google doc), do not apply standard query library (queries and policies are empty to start)
- When a user runs
- [ ] REST API changes: add boolean
preview_licenseflag to config endpoint that can be used to determine whether to show the modal after premium license expires.- TODO: PR to the API docs
- [ ] Permissions changes: TODO
- [ ] Outdated documentation changes: TODO
- [ ] Changes to paid features or tiers: TODO
Engineering
- [ ] Database schema migrations: TODO
- [ ] Load testing: TODO
ℹ️ Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".
QA
Risk assessment
- Requires load testing: TODO
- Risk level: Low / High TODO
- Risk description: TODO
Manual testing steps
- Step 1
- Step 2
- Step 3
Testing notes
Confirmation
- [ ] Engineer (@____): Added comment to user story confirming successful completion of QA.
- [ ] QA (@____): Added comment to user story confirming successful completion of QA.
@mike-j-thomas and @Sampfluger88 I think we need the digital experience team's help designing and building this user story because of the product groups' (product and engineering) capacity is close to full.
This is one of my Q3 OKRs.
See the issue description for the proposed solution.
If y'all don't think you can work this in to Q3 or you want to discuss the issue, please schedule a 30 min call to chat.
Thanks :)
cc @eashaw
Whiteboard here: https://docs.google.com/document/d/1m2-7ZRAir3Fn-lw6uYwt589e51YG0NWqxQsJez6BZr4/edit
Hey @mike-j-thomas, here's now the current wireframes for what the fleetctl preview user sees when their license key is under 30 days (which it will be): https://www.figma.com/design/yISBqrTWvOLPRbcqFidErJ/%2317860-Improve-styles-for-license-expiration-banner?node-id=344-1296&t=1geFxtwymSBSIOhQ-1
Notes here: https://docs.google.com/document/d/1m2-7ZRAir3Fn-lw6uYwt589e51YG0NWqxQsJez6BZr4/edit
@eashaw, drafts for /try-fleet have been approved and are ready for you. We decided to give the licenses a 30-day expiration instead of 14. Although Mike M said it's up to you when the website triggers license generation, he made a couple of suggestions that may be helpful. Please check the design review recording as the suggestions are a little above my pay grade to accurate detail here 👍
Figma: https://www.figma.com/design/3he8e72251IEnF6dBafKq1/%F0%9F%9A%A7-fleetdm.com-(scratchpad)?node-id=15618-41853
@noahtalerman, Fleet Premium license keys for fleetctl_preview are now live on the site. Ok to close this issue?