-
Notifications
You must be signed in to change notification settings - Fork 483
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
Add parameter to exclude Fleet Maintained apps in List software API response. #25427
Comments
This sub task is part of a bug and should be taken. |
Hey team! Please add your planning poker estimate with Zenhub @dantecatalfamo @jacobshandling @lucasmrod @sgress454 |
) for #25427 # Checklist for submitter <!-- 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) This PR adds a new `ExcludeFleetMaintainedApps` option to the ListSoftwareTitles datastore method, and the equivalent `exclude_fleet_maintained_apps` to the `GET /api/v1/fleet/software/titles` API. The new functionality works by doing a left join from the `software_titles` table to the `fleet_library_apps` table by bundle identifier, and excluding any rows that are present in the `fleet_library_apps` table. New tests verify that the filtering works as expected and doesn't interfere with other functions of the method.
Looks like 1Password is missing a |
I'm looking into whether this is a real-world problem or something only experienced with virtual hosts. |
@jacobshandling I'm unable to reproduce this on an install with only real hosts (not virtual hosts). I checked the dogfood db and I do see a handful of empty bundle identifiers in there (29 out of ~2900 macos/ios apps), but none on installable software, so I don't think this is a real-world problem. I did however uncover another issue, where if the customer uploads a package manually with the same bundle ID as a fleet maintained app, it'll still be suppressed in the list when @eashaw would you agree that this param is only needed in conjunction with |
Cool, thanks for confirming! When re-checking this when ready, I'll use a fresh DB with only real hosts. |
@jacobshandling After poking at this some more I don't think it's as simple as I was making it out to be re: "just use it for installers". I'd go ahead and re-check this as is with real hosts. I think it's as good as it's going to get for the time being. It sounds like the fleet-maintained app system might be getting some love soon anyway. |
cc @jahzielv, may be good to keep this in mind when doing FMA updates |
@sgress454 it seems like Fleet may be having some issues disambiguating software installed on a host by an end user if that same software can also be "Fleet maintained." For example, if my VM has Mozilla VPN installed and I add the same installer used to install it there to Fleet's "available for install" software, the I think a detailed test plan would be helpful for ascertaining exactly which software should or should not be excluded would be helpful here. Will also follow up with a couple more considerations in Slack. |
Some details of what I'm seeing: https://drive.google.com/file/d/1AuKgS4DtBAzqcGeiL5q_yAQmT5DNq9om/view?usp=sharing |
Sounds like the issue we were discussing earlier re: matching by bundle ID. I have a branch where it switches to using the |
MSP board will not be used. Thus, this is unnecessary. |
For QA: this was all reverted, so I don't think anything needs testing. |
Related user story
#24918
API changes: #25438
context:
Fleet Maintained apps are currently included in the response from the List software API endpoint, which the MSP dashboard relies on to gather software on the Fleet instance to display a list on the /software page.
The MSP dashboard cannot be used to transfer Fleet maintained apps to other teams, because it uses the add package API endpoint to transfer software to new teams (which does not support all of the filetypes that the installers for Fleet maintained apps can be in).
Task:
exclude_fleet_maintained_apps
) to the list software endpoint to allow users to exclude Fleet maintained apps from the list software response.Condition of satisfaction
Fleet maintained apps do not appear in the list software response when the
exclude_fleet_maintained_apps
parameter is set to true.The text was updated successfully, but these errors were encountered: