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

Policy automations: install software #19551

Closed
8 tasks
nonpunctual opened this issue Jun 5, 2024 · 56 comments
Closed
8 tasks

Policy automations: install software #19551

nonpunctual opened this issue Jun 5, 2024 · 56 comments
Assignees
Labels
~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. ~csa Issue was created by or deemed important by the Customer Solutions Architect. customer-cisneros customer-easterwood customer-flacourtia customer-mozartia customer-numa customer-preston customer-rosner customer-schur ~dogfood Issue resulted from Fleet's product dogfooding. ~experimental This feature is experimental, breaking changes may be made. #g-endpoint-ops Endpoint ops product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) prospect-disa ~sc Request is a requirement in a presales opportunity story A user story defining an entire feature
Milestone

Comments

@nonpunctual
Copy link
Contributor

nonpunctual commented Jun 5, 2024

Goal

User story
As an IT admin,
I want to install software automatically when a host fails a policy
so that I can deploy software to many hosts without having to use 3rd party automation tool (e.g. Tines).

Context

Changes

Product

Engineering

  • Usage documentation changes: How/where Fleet extracts name and version from packages. This way, if the IT admin hits this error they can understand why Fleet can't get the version and know how to fix their package.
  • 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

@noahtalerman:

  • If an App Store app is installed and then later uninstalled on an iOS/iPadOS host, check to make sure it doesn't show up on that Host's host details page anymore and the software counts are updated accordingly.

Load test

The osquery-perf agents are able to simulate software installation. They have a 5% fail rate by default. See cmd/osquery-perf/README.md how to adjust pre/install/post fail probabilities. Once installed, the software will show up on the host with the next refetch.

Given a ~100 MB install package, try to automatically install software on 100,000 hosts.

Demo

https://www.loom.com/share/38e17e4ab76b40e6a8cd6515b5f1e015

@nonpunctual nonpunctual added :product Product Design department (shows up on 🦢 Drafting board) ~feature fest Will be reviewed at next Feature Fest customer-preston ~csa Issue was created by or deemed important by the Customer Solutions Architect. labels Jun 5, 2024
@noahtalerman noahtalerman removed the :product Product Design department (shows up on 🦢 Drafting board) label Jun 6, 2024
@valentinpezon-primo
Copy link

Hi @noahtalerman @nonpunctual ,

No much to add to this one, for context :

  • We will use labels to group hosts
  • We would like to upload software without any teams related to it, aka "no team"
  • We would like to be able to say :
    "I want the hosts that have this labels to have access to this list of app"

Since we are the source of truth for labels, A workaround could be to use your API to do software installs based on our internal labels

@noahtalerman
Copy link
Member

Contributes to parity with Jamf

@noahtalerman
Copy link
Member

Thanks @valentinpezon-primo for the info!

@noahtalerman noahtalerman changed the title Ability To Scope Application Installs Using Labels Scope software with labels Jun 25, 2024
@dherder dherder added customer-numa ~sc Request is a requirement in a presales opportunity labels Jun 25, 2024
@noahtalerman noahtalerman removed the ~feature fest Will be reviewed at next Feature Fest label Jul 1, 2024
@zayhanlon zayhanlon added the ~feature fest Will be reviewed at next Feature Fest label Jul 8, 2024
@noahtalerman noahtalerman changed the title Scope software with labels Automatically install software and scope software with labels Jul 12, 2024
@noahtalerman noahtalerman added :product Product Design department (shows up on 🦢 Drafting board) story A user story defining an entire feature and removed ~feature fest Will be reviewed at next Feature Fest labels Jul 12, 2024
@marko-lisica
Copy link
Member

Converting this issue to story format and moving original description here:

Organizations may have the need to install applications based on:

  • role
  • persona
  • job title
  • department
  • organizational unit
  • LDAP group
  • etc...

i.e., a grouping of Hosts or end users that does not align to a Team in Fleet.

Scenario:

If we do this, the only options for application install in the case where a customer does not use Teams would be:

  • install apps for every device in the fleet (i.e., "No Team")
  • install apps for 0 devices in the fleet (i.e., applications would not be assignable)

Problem

  • If applications can only be assigned to a Team, multiple Teams, "All Teams" or "No Team", how would a Fleet customer make an application assignment from the list above that is not aligned with a Team?

Potential solutions

  1. Allow applications to be assigned to Hosts that match a Label.

@nonpunctual nonpunctual added ~dogfood Issue resulted from Fleet's product dogfooding. ~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. labels Jul 22, 2024
@noahtalerman
Copy link
Member

noahtalerman commented Jul 25, 2024

@noahtalerman
Copy link
Member

If you find some time you can record feedback on the UI that we didn't look at (labels badge on software details and advanced options modal). I would like to hear more, why do you think we want to split pending status to pending to install and pending "verification".

I believe it would be a better experience if we could manage to refetch host info if online and know right away if the host has software + if we can update software inventory together with host refetch, so counts are matching.

Hey @marko-lisica, I recorded a Loom video w/ feedback and thoughts on the above here (internal).

@sharon-fdm
Copy link
Collaborator

QA DRI - @jacobshandling

jacobshandling added a commit that referenced this issue Sep 17, 2024
…automat… (#22182)

#### This PR already merged to `main`, see
#22181. This is against the release
branch so it can be included in 4.57.0 (issue #19551)

Co-authored-by: Jacob Shandling <[email protected]>
@noahtalerman
Copy link
Member

@sharon-fdm just checking, was this story pushed? Is it supposed to have the ~pushed label?

@sharon-fdm
Copy link
Collaborator

@noahtalerman it's part of 4.57.0

@noahtalerman
Copy link
Member

@noahtalerman it's part of 4.57.0

@sharon-fdm got it! Do you know why it has the ~pushed label? Was it pushed out of 4.56?

@sharon-fdm
Copy link
Collaborator

sharon-fdm commented Sep 20, 2024

It was pushed 1 sprint (Fro 4.56 to 4.57). I probably forgot to remove it.
Removing now.

@sharon-fdm sharon-fdm removed the ~pushed User story was pushed to next release. label Sep 20, 2024
noahtalerman added a commit that referenced this issue Sep 23, 2024
@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 Sep 24, 2024
@iansltx iansltx closed this as completed Sep 24, 2024
@fleet-release
Copy link
Contributor

Software flows like streams,
Automations ease the work,
Fleet in clouds, it gleams.

@noahtalerman
Copy link
Member

Hey @zayhanlon and @dherder I forgot to add the ~experimental label to this story. Currently, all user stories that contribute to the mission critical app management objective are experimental: https://fleetdm.com/handbook/company/product-groups#experimental-features

iansltx added a commit that referenced this issue Nov 1, 2024
…ftware install (#19551) and script execution (#17129) policy automations
iansltx added a commit that referenced this issue Nov 4, 2024
…and software install (#19551) and script execution (#17129) policy automations (#23447)

Co-authored-by: Noah Talerman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
~apple-mdm-maturity Contributes to maturity in macOS, iOS, or iPadOS MDM product category. ~csa Issue was created by or deemed important by the Customer Solutions Architect. customer-cisneros customer-easterwood customer-flacourtia customer-mozartia customer-numa customer-preston customer-rosner customer-schur ~dogfood Issue resulted from Fleet's product dogfooding. ~experimental This feature is experimental, breaking changes may be made. #g-endpoint-ops Endpoint ops product group P2 Prioritize as urgent :product Product Design department (shows up on 🦢 Drafting board) prospect-disa ~sc Request is a requirement in a presales opportunity story A user story defining an entire feature
Development

No branches or pull requests