Closed noahtalerman closed 1 year ago
In Fleet, the IT admin decides what version of macOS is required (ex. latest or 13.0.1) and the deadline (number of days) at which they require their end users to update.
Nudge is a tool used to encourage the installation of macOS updates.
UPDATE: The chart below is outdated. See this issue's description for the latest settings (noahtalerman 2022-01-09).
The chart below illustrates the Nudge settings (behavior) that Fleet will use by default.
A short summary of the options we considered and tried:
Munki
MDM
InstallAction = InstallForceRestart
and while it prompted the user to install the update, it didn't force a restart.MaxUserDeferrals
only work for minor OS updatesNudge
Hey @mike-j-thomas when you get the chance, can you please help me with the layout (and general UI design) for this page?
I'm linking to the Figma page here: https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=11614%3A321739&t=QG4cXcxGd9IJZmW6-1
I assigned you this issue and moved it into the #g-marketing board so that it's on your radar.
Yes, will do! I'm currently working on a new design for fleetdm.com/platform, but should be able to get on this around the start of next week.
@mike-j-thomas sounds good! Thank you.
Sorry for the delay, @noahtalerman. Had to pivot to a web design priority. I'll definitely set aside time today to work on this and #8360 🙏🏻
Notes from product design review on 2022-12-20
On the CLI experience:
@mike-j-thomas no worries! Thank you for you help :)
Hey @mike-j-thomas can you please help me with the UI for #9013 as well?
I think it makes sense to take a pass at the UI for #9013 with the UI for #8360.
This is because the UI for #8360 has evolved (adding a secondary nav). This secondary nav is covered in: #9013
If it's helpful, I recorded a Loom video to walk you through this: https://www.loom.com/share/15c93bbc46de4dae9e24960d0cbab30e
@noahtalerman, #8360, ~and https://github.com/fleetdm/fleet/issues/9013~ are ready for you to look at 👍🏻
Sorry @noahtalerman, I'm in the wrong ticket. Working on this one next.
@noahtalerman, I need a little more time to think through this new layout. I'll give you an update tomorrow 🙏🏻
@mike-j-thomas sounds good! Thanks
Hey @mike-j-thomas just checking in, have you had a chance to think about this layout?
@noahtalerman. Yep, it's ready for you.
@roperzh is it possible to customize the copy / buttons in the Nudge window in the following ways?
If yes, I'd love to hop on a 30 min call to update the Nudge window and test these updates.
@noahtalerman we can do most of that, I'd say let's jump on a call and explore
During today's product design review call (2022-01-09) we decided to adjust the Nudge settings to the following:
I updated this issue's description to reflect this^
@roberzh is it possible to only show certain deferral options in Nudge? See the desired deferral options above. I can't remember if we discovered that we can't do this.
Hey @mike-j-thomas when you get the chance, can you please help me with the layout for this page? I assigned you and added this issue to the marketing board.
Linking to the Figma page here (screenshot below): https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=11539%3A321344
This Loom video walks through what we'd like to add + what changed since the last time you looked at this UI: https://www.loom.com/share/149050d7fb774741b028cc63921f8ac4
@mike-j-thomas I unassigned you and removed the issue from the marketing board.
Context is here in Slack (internal): https://fleetdm.slack.com/archives/C01ALP02RB5/p1673404102816089
@noahtalerman This feature is partially blocked by not having the ability to install software on the host (i.e. Munki, or another solution if we choose.)
To clarify, for this feature we need the ability to install software that we control, like Orbit and Nudge.
It does not require installing packages provided by the IT admin.
Backend ballpark estimate: 13 (full sprint) Frontend ballpark estimate: 8-13
Total for epic ~21-26 points
@ghernandez345 - @roperzh and I put very ballpark estimates on the epic above ^
This is needed for the upcoming sprint. Would the two of you please work together to break this epic up until it's child issues? The child issues don't all need detailed specs, we just need to break them up for Monday. Thanks!
Per Zach's comment here, we will install Nudge using Orbit, which should unblock this effort.
@ghernandez345 @roperzh
we just need to break them up for Monday
More important than breaking this up for the sprint planning is us agreeing that 21 points for the epic is a reasonable estimate. We can break out individual technical tasks after we start the sprint.
@noahtalerman a note, in the top level requirements it says:
Fleet Premium only
But in the descriptions below seems like this feature is available for non-premium deployments, for example:
For Fleet Free, this makes Nudge start to show up on all hosts. For Fleet Premium users this makes Nudge start to show up on all hosts with no team.
I'm moving forward with the assumption that we will allow Fleet Free users to use this feature as described, but please shout if I shouldn't.
@noahtalerman is the figma link her the correct link? I see another in the comments that looks more related to this issue
@ghernandez345 I think https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=11614%3A321739&t=YbOqoAwxkxZQZblI-0 is the right link. I will update the issue description.
@noahtalerman another question, I can see activities when minimum_version
is changed but not when deadline
is changed, is this intentional?
I'm moving forward with the assumption that we will allow Fleet Free users to use this feature as described, but please shout if I shouldn't.
@roperzh we won't allow Fleet Free users to use this feature. I removed the below sentence from the issue description. I missed updating the issue.
"For Fleet Free, this makes Nudge start to show up on all hosts. For Fleet Premium users this makes Nudge start to show up on all hosts with no team."
I can see activities when minimum_version is changed but not when deadline is changed, is this intentional?
@roperzh users should see the activity feed item when minimum version OR deadline is changed.
@roperzh users should see the activity feed item when minimum version OR deadline is changed.
@noahtalerman understood, thanks. A heads-up that the activity copy doesn't show the deadline, so if I go and edit the deadline multiple times it might look like there are repeated activities.
heads-up that the activity copy doesn't show the deadline
Ah, great point. I think updating the copy to include deadline is valuable. Something like "...updated the minimum macOS version to 12.6.2 (Deadline: 2023-06-01)"
@ghernandez345 @roperzh what do you think? How much does this impact the estimate?
@noahtalerman is the figma link her the correct link? I see another in the comments that looks more related to this issue
The link included in this issue's description is right one: https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=11614%3A321739&t=YbOqoAwxkxZQZblI-0
Please let me know if it still looks wrong. Just curious, what's the other Figma link you're referring to?
Ah, great point. I think updating the copy to include deadline is valuable. Something like "...updated the minimum macOS version to 12.6.2 (Deadline: 2023-06-01)"
@noahtalerman it doesn't affect the back-end estimate, and I'm 99% it doesn't affect the UI estimate either.
It's the right one. Please let me know if it still looks wrong. Just curious, what's the other Figma link you're referring to?
I changed it! it used to be https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%252C-scratchpad)?node-id=10517%253A316027
it doesn't affect the back-end estimate, and I'm 99% it doesn't affect the UI estimate either.
Got it 👍 @roperzh @ghernandez345 let's add deadline to the activity feed. I updated the Figma to include the deadline in the activity feed:
cc @lukeheath
I changed it! it used to be https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%252C-scratchpad)?node-id=10517%253A316027
Ah! Roberto, thank you. Whoops from me
@chris-mcgillicuddy if you get the chance, please let me know if you have any thoughts/feedback on the proposed copy (screenshot in the following comment): https://github.com/fleetdm/fleet/issues/9013#issuecomment-1384521892
@lukeheath I expanded this story to include this Controls tab state (when the user hasn't connected Fleet to Apple): https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=12342%3A329710&t=VcuhiWf8kr6pnlJc-1
@noahtalerman in the CLI, what happens if I provide minimum_version
but I don't provide deadline
or vice-versa? If it's an error, do you mind providing the error message?
what happens if I provide minimum_version but I don't provide deadline or vice-versa?
@roperzh great catch. Yes, we should show the user an error in this case.
Error message if minimum_version
is provided and deadline
is not: "For macOS updates, a deadline is required (macos_updates.deadline) when a minimum version (macos_updates.minimum_version) is provided."
Error message if deadline
is provided and minimum_version
is not: "For macOS updates, a minimum version is required (macos_updates.minimum_version) when a deadline (macos_updates.deadline) is provided."
What do you think? How complex is having a different error for each case?
What do you think? How complex is having a different error for each case?
@noahtalerman thank you! not complex at all, just needed the confirmation and the copy 💚
` indicates other attributes not related to this feature
Haiku: Updating macOS Easy, secure, with less worry Peace of mind restored
` indicates other fields which are not relevant to this ticket.
Haiku: Updates now secure, Macs run in harmony, user Peaceful compliance.
Goal
As a Mac admin using a Fleet Premium deployment, I want to specify what minimum version of macOS to support across my Fleet, and have that work in a way that minimizes annoyance to my users, but also helps us achieve better security and compliance by getting folks on appropriate versions of macOS.
Problem
Apple releases new versions of the macOS operating system (OS) about every month. New versions include important security updates.
Many organizations want to make sure all Macs have the latest macOS so that they have the latest security updates.
Encouraging end users to update their macOS is difficult. Updating can take 30 mins (on average) and disrupt a work day. Reporting on how macOS updates are going is also difficult.
Requirements
Design
UI
https://www.figma.com/file/hdALBDsrti77QuDNSzLdkx/%F0%9F%9A%A7-Fleet-EE-(dev-ready%2C-scratchpad)?node-id=11614%3A321739&t=YbOqoAwxkxZQZblI-0
API
TODO
CLI
Update
config
YAML fileExample
config
YAML file:macos_updates
top level key andminimum_version
anddeadline
.minimum_version
accepts version numbers only. (E.g., “13.0.1.”) NOT “Ventura 13” or “13.0.1 (22A400).”deadline
accepts YYYY-MM-DD format only (E.g., “2023-06-01”). The exact deadline time is at 12:00 (Noon) Pacific Standard Time (GMT-8).Empty
config
file with an emptymacos_updates
,minimum_version
, anddeadline
Nudge doesn't show up for all hosts (for Premium: hosts on no team).Errors
minimum
is not a version number. Display this error message:minimum_version accepts version numbers only. (E.g., “13.0.1.”) NOT “Ventura 13” or “13.0.1 (22A400).”
deadline
is not YYYY-MM-DD format. Display this error message:deadline accepts YYYY-MM-DD format only (E.g., “2023-06-01.”).
Update
team
YAML filemacos_updates
top level key andminimum_version
anddeadline
.config
YAML file (above).config
YAML file (above).config
YAML file (above).Nudge
Nudge documentation is here: https://github.com/macadmins/nudge/wiki
Nudge UI:
Nudge UX:
Docs
Noah: PR to docs is here:
9417
Add a new Mobile device management (MDM) page to the Using Fleet section of the docs
Link to page: fleetdm.com/docs/using-fleet/mobile-device-management
Add a new Controls > macOS updates section
URL for section: fleetdm.com/docs/using-fleet/mobile-device-management#macos-updates
Related
Child issues
Frontend:
Back-end:
Documentation