Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Install software and run setup script when Macs boot #19372

Closed
47 of 54 tasks
dherder opened this issue May 30, 2024 · 31 comments
Closed
47 of 54 tasks

Install software and run setup script when Macs boot #19372

dherder opened this issue May 30, 2024 · 31 comments
Assignees
Labels
~customer promise A feature request from a Fleet customer that Fleet has contractually agreed to deliver ~customer request A prioritized, customer feature request. Has ≥ 1 customer codename label(s) customer-denlea customer-fourier customer-numa #g-mdm MDM product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) ~pushed User story was pushed to next release. ~sc Request is a requirement in a presales opportunity story A user story defining an entire feature
Milestone

Comments

@dherder
Copy link
Contributor

dherder commented May 30, 2024

Goal

User story
As a Client Platform Engineer (aka IT admin),
I want to block the end user's screen while installing software and running a script after the end user completes macOS Setup Assistant
so that I can enforce required configuration before the end user can click around on their desktop.

Auto-install productivity apps when Macs boot.

Context

Changes

Product

Engineering

ℹ️  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: High
  • Risk description: It's important to test there are no regressions against existing ADE or setup experience workflows

Manual testing steps

UI changes to the setup experience page -

  • Empty State
  • Ordered list
  • Copy changes
  • screenshot

Adding software -

  • Listed in ascending order
  • Test search tool
  • Test bulk selection
  • Test clear selection
  • Test Show selected software button once completed
  • Test VPP, FMA, and Custom Apps
  • Test that other file types (.deb, .rpm, .exe, .msi) cannot be uploaded

Uploading scripts -

  • Test all errors
  • Test deleting a script

End to End testing -

  • Test VPP apps install
  • Test FMA apps install
  • Test Custom apps install
  • Test scripts run
  • Test different teams and “no team”
  • Ensure forced encryption workflow succeeds
  • Ensure forced OS updates workflow succeeds

Ensure all other setup experience items work and there’s no regression -

  • End User Authentication
  • Bootstrap
  • Setup Assistant
  • Ensure standard ADE workflow still functions without software or script installs
  • Ensure workflow still functions with Manual release enabled
  • Ensure workflow still functions with Manual release disabled
  • Test with and without a bootstrap package

Activity Feeds -

  • Global
  • Host details page

GitOps -

  • CLI changes

Other -

  • Ensure free version doesn’t see the option for setup experience
  • Test deleting software from main catalog that’s being used for Setup Assistant (Ensure you see restriction modal)

End User (host UI) -

  • Swift Dialogue
  • Custom logo
  • Verify copy
  • Confirm pending, failed, installed statuses
  • Verify percentage bar
  • Verify Close button

Testing notes

Confirmation

  1. Engineer (@____): Added comment to user story confirming successful completion of QA.
  2. QA (@PezHub ): Added comment to user story confirming successful completion of QA.
@dherder dherder added :product Product Design department (shows up on 🦢 Drafting board) ~feature fest Will be reviewed at next Feature Fest ~sc Request is a requirement in a presales opportunity customer-numa customer-denlea labels May 30, 2024
@noahtalerman noahtalerman removed the :product Product Design department (shows up on 🦢 Drafting board) label May 31, 2024
@noahtalerman noahtalerman removed the ~feature fest Will be reviewed at next Feature Fest label Jun 4, 2024
@noahtalerman
Copy link
Member

Hey @dherder heads up, I updated the issue to user story format and moved your original issue description here for safekeeping:

Problem

As an IT admin, I have the option to use several different tools to provide an amazing end user experience when my end user first opens their macOS laptop on provisioning. Some of these tools are open source (DEPNotify, SwiftDialog) and some are commercially available (Kandji liftoff). Instead of having to configure a separate tool, I would like to leverage the Fleet Desktop to handle the onboarding experience of my end users.

@dherder
Copy link
Contributor Author

dherder commented Jun 25, 2024

@noahtalerman the new description for this issue doesn't match what the original intent (or the title) describes.

@noahtalerman noahtalerman changed the title Fleet end user experience at login window Enforce configuration, install software, and show progress during new workstation setup Jun 25, 2024
@noahtalerman
Copy link
Member

noahtalerman commented Jun 25, 2024

the new description for this issue doesn't match what the original intent (or the title) describes.

Hey @dherder I think you saw a temporary placeholder. How does the user story look now?

@noahtalerman noahtalerman changed the title Enforce configuration, install software, and show progress during new workstation setup Enforce configuration, install software, and show progress during new macOS host setup Jun 26, 2024
@noahtalerman noahtalerman added ~feature fest Will be reviewed at next Feature Fest :product Product Design department (shows up on 🦢 Drafting board) labels Jul 11, 2024
@noahtalerman noahtalerman self-assigned this Jul 12, 2024
@noahtalerman noahtalerman added story A user story defining an entire feature and removed ~feature fest Will be reviewed at next Feature Fest labels Jul 12, 2024
@lukeheath lukeheath added Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. and removed Epic DO NOT USE. Auto-created by ZenHub, cannot be disabled. labels Jul 29, 2024
@noahtalerman noahtalerman added ~feature fest Will be reviewed at next Feature Fest and removed :product Product Design department (shows up on 🦢 Drafting board) labels Aug 1, 2024
@noahtalerman noahtalerman removed their assignment Aug 1, 2024
@noahtalerman noahtalerman assigned dherder and unassigned dherder Aug 13, 2024
@noahtalerman noahtalerman removed the ~feature fest Will be reviewed at next Feature Fest label Aug 13, 2024
@noahtalerman noahtalerman added ~feature fest Will be reviewed at next Feature Fest :product Product Design department (shows up on 🦢 Drafting board) labels Aug 26, 2024
georgekarrv added a commit that referenced this issue Oct 28, 2024
)

> Related issue: #19372

These commits have all been reviewed in their respective PRs.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [x] Added/updated tests
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [x] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
@georgekarrv georgekarrv assigned jahzielv and unassigned georgekarrv Oct 31, 2024
@PezHub
Copy link
Contributor

PezHub commented Nov 1, 2024

QA Notes:

UI testing is complete as is GitOps workflow. Performed some end-to-end testing while pairing with Jahziel using his local config to get Setup Experience to run on the host. Since this feature requires a new version of Fleetd, I will wait for 1.35 to move from edge to stable so that I can test again in both my local instance and dogfood.

*All unreleased bugs have been resolved as of this comment

@PezHub
Copy link
Contributor

PezHub commented Nov 6, 2024

Completed end to end testing and things are looking good. Comprehensive QA checlist is above in the description.

Pending custom logo Complete with failed and success

jahzielv added a commit that referenced this issue Nov 7, 2024
…A purposes (#23614)

Updated the docs based on our experience QA-ing
#19372

There will be a follow-up PR with some details for generating the base
installer during development.
mostlikelee pushed a commit that referenced this issue Nov 10, 2024
…A purposes (#23614)

Updated the docs based on our experience QA-ing
#19372

There will be a follow-up PR with some details for generating the base
installer during development.
@lukeheath lukeheath added :product Product Design department (shows up on 🦢 Drafting board) and removed :release Ready to write code. Scheduled in a release. See "Making changes" in handbook. labels Nov 12, 2024
@noahtalerman
Copy link
Member

Hey @zayhanlon this user story shipped in 4.59.

Leaving the user story open until we update the pricing page and file a follow up feature request for activity feed (audit log) changes.

@noahtalerman noahtalerman added ~customer request A prioritized, customer feature request. Has ≥ 1 customer codename label(s) ~customer promise A feature request from a Fleet customer that Fleet has contractually agreed to deliver labels Nov 14, 2024
@noahtalerman
Copy link
Member

TODO: @marko-lisica: See if there's a spot that makes sense to call out this feature on the pricing page. Does it deserve it's own row?

TODO: @marko-lisica: Check if we shipped any activity feed changes. If not, let's file a follow up feature request to add those.

Hey @marko-lisica, just giving you a ping! as a reminder for these TODOs

@noahtalerman
Copy link
Member

TODO: @marko-lisica: See if there's a spot that makes sense to call out this feature on the pricing page. Does it deserve it's own row?

TODO: @marko-lisica: Check if we shipped any activity feed changes. If not, let's file a follow up feature request to add those.

Hey @marko-lisica can you please prioritize these TODOs that we can close this user story? Thanks!

@marko-lisica
Copy link
Member

Thanks for the ping @noahtalerman. I just checked and we have Zero-touch setup row in pricing table. I think that covers this, and it's linked to MDM setup experience guide which mentions software and scripts.

@marko-lisica
Copy link
Member

marko-lisica commented Nov 18, 2024

Changes to paid features or tiers: Only available in Fleet Premium. It's covered by Zero-touch setup in pricing table.

@noahtalerman I updated "Changes to paid features", since I think it's already covered by "Zero-touch" row. Could you let me know if you think it's not enough?

Activity changes: TODO: @marko-lisica: Check if we shipped any activity feed changes. If not, let's file a follow up feature request to add those.

Regarding activities, I checked and we didn't specify any activity. I filed FR: #23907.

@noahtalerman
Copy link
Member

I just checked and we have Zero-touch setup row in pricing table. I think that covers this, and it's linked to MDM setup experience guide which mentions software and scripts.

Nice! Agreed "Zero-touch" covers this.

I checked and we didn't specify any activity. I filed FR: #23907.

Thanks! Linked to this FR in the issue description.

Closing this story.

@fleet-release
Copy link
Contributor

In the cloud city,
Macs boot, apps auto-install,
Workflows streamlined, calm.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
~customer promise A feature request from a Fleet customer that Fleet has contractually agreed to deliver ~customer request A prioritized, customer feature request. Has ≥ 1 customer codename label(s) customer-denlea customer-fourier customer-numa #g-mdm MDM product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) ~pushed User story was pushed to next release. ~sc Request is a requirement in a presales opportunity story A user story defining an entire feature
Development

No branches or pull requests