Open willmayhone88 opened 1 month ago
Thanks for tracking this @willmayhone88!
I just met w/ customer-deebradel
and they said that they want to enable this workflow specifically for help-desk and to have it work for configuration profiles, scripts, and software. Not just scripts.
I update the issue description to reflect this and moved your original issue description below.
We decided that configuration profiles are the highest priority because they plan on starting w/ onboarding new clients that have macOS hosts only sometime in October.
Configuration profiles are required for this and scripts are nice to have. Software isn't required because they use Munki for macOS. Software will be required when they onboard/migrate clients w/ Windows machines (after onboarding new macOS clients). They're planning on using Fleet to manage Windows software.
cc @pintomi1989
Original issue description from @willmayhone88:
As an fleet admin I'd like the ability to upload scripts and have those apply to multiple teams. This will be especially useful for those that do not have heavy gitops knowledge,or those wanting to work in the ui.
When uploading scripts for multiple teams in the ui, you currently need to upload them to each team individually. This can be time consuming uploading the same script multiple times.
Create a way when uploading scripts to select multiple teams, potentially a front-end app that can choose the teams for the upload, and have the api create the multiple uploads in the background.
Fleet user uploads a script once, and selects the relevant teams. Then api calls in the background will add to all the teams selected to then be used as needed.
@noahtalerman
This sounds like a great feature that other Premium users would benefit from as well.
A suggestion, we could include an option to upload to multiple teams directly on the page where the frontend would send those scripts appropriately to existing APIs, maybe using our multiselect dropdown component we already have.
To me this is the quickest route and we wouldn't have to maintain a second app or rebuild in the UI if more customers wanted the same feature.
Example:
Mimic existing UI and hide it within a "Show advanced options ▽" button, when they open it, it has the current team preselected but users can modify the teams targeted on the multi-selector.
We can chat more later!
FYI @RachelElysia I updated the user story to reflect the decision to cut software CRUD and profile/script edit in the first pass.
@sharon-fdm Just a reminder that the team doesn't need to estimate this. @eashaw and I will be taking it on and will estimate separately before sprint kick off. Thanks!
Mike: The thing for customer-ufa
already has the ability to pull all hosts. Make sure Eric knows about this but who knows how helpful it is. ✅
Mike: Bring back edit for scripts ✅ and add in v1 of library so we start working on that ✅
Noah: Add default sort ✅
Mike: Call to action to get in the Fleet UI to see status. Don't be shy about these. "Status" column is a good idea. WONT
Mike: Show an .xml
(Windows) profile ✅
Mike: As part of QA let's see if "pending" scripts are actually canceled. Did all of these contingencies make it into API docs? Did the error message make sense? TODO
Reminder to ask Eric to let us know when the API stinks so we can learn. ✅
Estimation with @eashaw
Configuration profiles page: Read operations (page, teams and all teams view, dropdown, download) - 3-5 Add/Edit/Delete - 3
Scripts page (after building Configuration profiles page): Read operations (page, teams and all teams view, dropdown, download) - 2 Add/Edit/Delete - 2
Total: 10-12 pts
Parking lot: Q: What does it mean to add a profile to the library but not deploy it? A: Noah: We don't have this concept in the fleet database, so it will need to be done on Sails. Experiment with adding it into the gitops repo but not deploying it to hosts.
Maturity review notes:
Brock: What if it’s an 8021x with a cert to authenticate with a corporate wifi network. Those profiles are usually set to auto-join because the admins never want the users to have to enter credentials.
Brock: We need to be careful about this because the wifi will drop if the 8021x profile is every removed. So we want to make sure that if an updated cert is ever added, it’s delivered on top of the 8021x and the old one isn’t removed first.
Noah: For the edit the profile workflow. The expected behavior is we’re just redelivering the profile so we expect the credentials to get updated but we should verify.
@eashaw, kind reminder to discuss whether this needs a document.
@eashaw I'm going to unassign myself for now from the issue, but just let me know if I can assist.
The app we built has been merged and lives in ee/bulk-operations-dashboard/
Set up:
sails_custom__fleetApiToken
and sails_custom__fleetBaseUrl
configuration values in ee/bulk-operations-dashboard/docker-compose.yml
to contain the URL of the Fleet instance and an API token of a user on the instance.docker-compose up —build
@eashaw Thank you for building this and for the detailed test plan. Really appreciate it!
@xpkoala Let me know if I can assist you in getting this up and running locally and talking to your local Fleet API.
Goal
Context
@noahtalerman: The plan is to build a new Sails apps for
customer-deebradel
on top of the existing Fleet API so that we can move quickly w/o disrupting parallel MDM feature work in the Fleet product.Fore more context see this Google doc (internal).
Changes
Product
customer-deebradel
Engineering
QA
Risk assessment
Manual testing steps
Testing notes
Confirmation