fleet icon indicating copy to clipboard operation
fleet copied to clipboard

Add 14 day Fleet Premium trial to `fleetctl preview`

Open noahtalerman opened this issue 1 year ago • 26 comments

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-key flag in fleetctl preview

noahtalerman avatar May 09 '24 14:05 noahtalerman

@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.

rachaelshaw avatar May 17 '24 19:05 rachaelshaw

@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: Screenshot 2024-05-17 at 4 36 17 PM Screenshot 2024-05-17 at 4 30 49 PM

Now the question is: do you know if any of those states are specific to fleetctl preview?

rachaelshaw avatar May 17 '24 21:05 rachaelshaw

@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:

jacobshandling avatar May 20 '24 18:05 jacobshandling

@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.

RachelElysia avatar May 21 '24 13:05 RachelElysia

We probably have the information about the license-expiry. Need to add an API and present the"days left" in UI.

sharon-fdm avatar May 22 '24 18:05 sharon-fdm

FE - 3 BE - 8

sharon-fdm avatar May 22 '24 19:05 sharon-fdm

@rachaelshaw, in response to your question on Slack, I have added my recommendation to 🚧 Scratchpad in your Figma file. (Posting here for quick reference)

image

mike-j-thomas avatar May 24 '24 03:05 mike-j-thomas

@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 avatar Jul 03 '24 21:07 noahtalerman

@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? 🤔

rachaelshaw avatar Jul 03 '24 22:07 rachaelshaw

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.

noahtalerman avatar Jul 03 '24 23:07 noahtalerman

FYI @sharon-fdm and @jacobshandling ^^

noahtalerman avatar Jul 03 '24 23:07 noahtalerman

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.

sharon-fdm avatar Jul 04 '24 14:07 sharon-fdm

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

noahtalerman avatar Jul 08 '24 17:07 noahtalerman

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.

rachaelshaw avatar Jul 08 '24 18:07 rachaelshaw

Thanks @rachaelshaw!

I assigned this one back to @sharon-fdm and removed the old estimate (13).

noahtalerman avatar Jul 09 '24 14:07 noahtalerman

Thanks @noahtalerman! Will re-estimate soon.

sharon-fdm avatar Jul 09 '24 14:07 sharon-fdm

Maybe a new license type? (instead of premium/free, "preview")

rachaelshaw avatar Jul 09 '24 16:07 rachaelshaw

@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 avatar Jul 12 '24 19:07 lukeheath

@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

sharon-fdm avatar Jul 12 '24 20:07 sharon-fdm

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)

mostlikelee avatar Jul 12 '24 21:07 mostlikelee

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 avatar Jul 12 '24 21:07 mostlikelee

@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?

sharon-fdm avatar Jul 12 '24 22:07 sharon-fdm

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.

lukeheath avatar Jul 15 '24 22:07 lukeheath

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)
  • [ ] REST API changes: add boolean preview_license flag 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

  1. Step 1
  2. Step 2
  3. Step 3

Testing notes

Confirmation

  1. [ ] Engineer (@____): Added comment to user story confirming successful completion of QA.
  2. [ ] QA (@____): Added comment to user story confirming successful completion of QA.

noahtalerman avatar Aug 29 '24 20:08 noahtalerman

@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

noahtalerman avatar Aug 29 '24 20:08 noahtalerman

Whiteboard here: https://docs.google.com/document/d/1m2-7ZRAir3Fn-lw6uYwt589e51YG0NWqxQsJez6BZr4/edit

Sampfluger88 avatar Aug 29 '24 22:08 Sampfluger88

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

noahtalerman avatar Sep 03 '24 22:09 noahtalerman

Notes here: https://docs.google.com/document/d/1m2-7ZRAir3Fn-lw6uYwt589e51YG0NWqxQsJez6BZr4/edit

Sampfluger88 avatar Sep 03 '24 22:09 Sampfluger88

@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

mike-j-thomas avatar Sep 05 '24 02:09 mike-j-thomas

@noahtalerman, Fleet Premium license keys for fleetctl_preview are now live on the site. Ok to close this issue?

mike-j-thomas avatar Sep 13 '24 05:09 mike-j-thomas