fleetdm / fleet

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

Upload `.dmg`s #20315

Open lukeheath opened 3 weeks ago

lukeheath commented 3 weeks ago

Goal

User story
As an IT admin,
I want to upload the Google Chrome .dmg I downloaded here to Fleet
so that I can install Google Chrome on my macOS workstations w/o having to transform the .dmg into a .pkg.

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.
lukeheath commented 3 weeks ago

@noahtalerman This is another one that could be a feature request or a bug. I'm filing as a bug so it gets triaged sooner because it's blocking dogfooding. Many vendors only provide DMG files, so we can't add all of the software we want currently. There is a library that makes this pretty straight-forward, so I believe it should be a XS size.

roperzh commented 3 weeks ago

@noahtalerman This is another one that could be a feature request or a bug. I'm filing as a bug so it gets triaged sooner because it's blocking dogfooding. Many vendors only provide DMG files, so we can't add all of the software we want currently. There is a library that makes this pretty straight-forward, so I believe it should be a XS size.

want to note based on what we discussed in slack as an update: we can't use the library (7zip) but we could investigate what they do and see if we can do the same in Go

roperzh commented 3 weeks ago

More info about what we currently think/know about dmg files in this doc https://github.com/fleetdm/fleet/blob/325f5571af3aa77d2c69eb6c046357cf27431c79/docs/Contributing/research/mdm/software-version-extract.md

noahtalerman commented 3 weeks ago

it's blocking dogfooding

Hey @lukeheath is this still blocking dogfooding? I see that you updated this to issue to a feature request.

lukeheath commented 2 weeks ago

@noahtalerman It's not fully blocking because we can repackage the files in another format, but it's a laborious extra step that other solutions don't require (they support DMG), so I'd call this apple mdm parity.

willmayhone88 commented 2 weeks ago

As @lukeheath mentioned we can repackage and it works, but not as easy. For reference this is how I repackage a dmg to pkg.

  1. Open the DMG, and add the application to the applications folder
  2. Run the following command: sudo productbuild --component /Applications/app_example.app ~/Desktop/app_example.pkg

This will repackage the app to a pkg and make it deployable through fleet.

noahtalerman commented 2 days ago

Hey @lukeheath I updated this issue to user story format and moved your original issue description below for safekeeping:

Problem

I want to upload DMG files to Fleet's software management because that is the format many vendors distribute their software in. I hear I can repackage it somehow, but I don't know how, and Fleet doesn't tell me.

What have you tried?

Uploading the Google Chrome universal installer, which comes as a DMG.

Potential solutions

What is the expected workflow as a result of your proposal?

I can upload DMG files, and the .pkg or .app is extracted and uploaded to Fleet.

noahtalerman commented 2 days ago

Hey @lukeheath, @zayhanlon, and @dherder heads up that this story didn't make the 3 week drafting => estimation timeline so it's being deprioritized for now.

The current plan is to prioritize this story towards the end of Q3.