fleetdm / fleet

Open-source platform for IT, security, and infrastructure teams. (Linux, macOS, Chrome, Windows, cloud, data center)
https://fleetdm.com
Other
2.97k stars 413 forks source link

Software self-service #17587

Closed willmayhone88 closed 2 months ago

willmayhone88 commented 6 months ago

Goal

User story
As an IT admin on the Software page,
I want to add a package and make it available for my end users to install via Fleet Desktop
so that I can give end users (without root access) an easy way to install software vetted by my organization.

Context

Changes

Product

Engineering

ℹ️  Please read this issue carefully and understand it. Pay special attention to UI wireframes, especially "dev notes".

QA

Risk assessment

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 commented 6 months ago

@willmayhone88 thanks for tracking this!

We can weigh it at feature fest.

noahtalerman commented 6 months ago

Hey @willmayhone88, heads up, we discussed this request at feature fest.

We decided not to draft this one in the upcoming design sprint (4.49).

Removing from feature fest board.

noahtalerman commented 5 months ago

@dherder and @willmayhone88 what's an example of a "workflow"?

From what I've heard from IT admins, one example is the end user can run a script to troubleshoot a business critical tool (ex. Cisco Umbrella).

willmayhone88 commented 5 months ago

@noahtalerman at a bare minimum, if we could get scripts to be ran by the user that would cover a quite a bit of workflows. We would just need the ability to maybe title the item for what the end user sees that is different from the script title, and a description as well. Workflows were also used to reinstall apps, if say an app wasn't work as expected.

noahtalerman commented 5 months ago

if we could get scripts to be ran by the user that would cover a quite a bit of workflows

Got it. I updated the title of this issue to reflect this.

@willmayhone88 what's a specific example of a "workflow" one of these prospects is trying to offer to end users?

noahtalerman commented 5 months ago

Brock: One example of a "workflow" is refreshing the VPN proxy. Ask the end user to hit a button instead of walking them through a Terminal command.

noahtalerman commented 5 months ago

Hey @willmayhone88, heads up, now that this story is in the current design sprint, I updated the issue description to use the user story format.

I moved your original issue description here for safekeeping:

Problem

Users need the ability to install approved applications or run workflows that we allow when they have a need to do so. This is similar to other MDMs that have a portal of approved applications and workflows. By allowing an end user to perform these actions as needed, it removes the requirement of the Fleet admin or Fleet users from having to do this when available.

Potential solutions

  1. A potential solution could be a new application that links to a Fleet instance's available software.
  2. Another option would be to have these items available in the "My Device" that a host device has access to in the fleetd application.

Note that this user story only covers the "install approved applications" problem.

The "run workflows" problem will be addressed separately. When you get the chance, can you please file a separate issue for this problem?

noahtalerman commented 4 months ago

During estimation today, we uncovered these design TODOs:

@marko-lisica when you're back, can you please take these? Thanks!

marko-lisica commented 4 months ago

As an IT admin looking at the activity feed on the Host details page, what does the activity feed entry look like when an end user installs a self service app?

Global and host activity feed items are specified here. @noahtalerman Could you take a look at this?

What is the query param that powers the "Self-service" filter on the Software page?

Added query param to dev note here.

To allow for a separate "Self-service" tab on the My device page, add a boolean to filter a specific host's software in the API

This is already specified in dev note and in the API PR.

noahtalerman commented 4 months ago

Global and host activity feed items are specified here.

Looks good!

Tweaked the copy a bit.

Host: Screenshot 2024-05-10 at 3 30 23 PM

Global: Screenshot 2024-05-10 at 3 30 41 PM

PezHub commented 3 months ago

QA Tests:

Passed:

Ran thru same tests for Windows Host

To Do:

PezHub commented 3 months ago

Windows and Ubuntu testing results here

PezHub commented 3 months ago

testing is complete, including yaml config updates. QA Approved!

georgekarrv commented 2 months ago

@noahtalerman Looks like this one fell off w/o going through confirm and celebrate

marko-lisica commented 2 months ago

Hey @dave and @willmayhone88, this story has shipped. API docs are still TODO.

marko-lisica commented 2 months ago

API docs are merged.

fleet-release commented 2 months ago

Vetted software flows, Like a cloud city's soft light, Access without root grows.