fleet icon indicating copy to clipboard operation
fleet copied to clipboard

Recategorize MDM REST API endpoints

Open rachaelshaw opened this issue 1 year ago • 9 comments

Goal

User story
As a Fleet API user,
I want the API endpoints to manage MDM features to not be nested under /mdm
so that I understand that MDM features are a core part of Fleet and not a separate, MDM product.

Changes

Product

  • [ ] REST API changes:
    • [ ] https://github.com/fleetdm/fleet/pull/16129
    • [ ] https://github.com/fleetdm/fleet/pull/16728
  • [ ] Outdated documentation changes: See REST API change PR

Engineering

  • [ ] Database schema migrations: TODO
  • [ ] Load testing: TODO

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

Context

  • Requestor(s): _________________________

QA

Risk assessment

  • Requires load testing: TODO
  • Risk level: Low / High TODO
  • Risk description: TODO

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.

rachaelshaw avatar Jan 22 '24 20:01 rachaelshaw

@rachaelshaw we moved the original issue description here:

Problem

The MDM section of the REST API has a lot of endpoints compared to other sections (26), and is getting a bit unwieldy to navigate.

It would be easier for people to find what they're looking for if we moved away from nesting the APIs for MDM features under /mdm/, and recategorized & set up redirects for existing MDM endpoints.

noahtalerman avatar Feb 06 '24 17:02 noahtalerman

@noahtalerman here's the spreadsheet I started to figure out the new URLs + categories if you want to leave feedback: https://docs.google.com/spreadsheets/d/1aH1fTtrpftmwglxVuYqXUSfIRfhk88x5ORVUcIQhdbs/edit#gid=907717004

rachaelshaw avatar Feb 06 '24 21:02 rachaelshaw

Hey team! Please add your planning poker estimate with Zenhub @ghernandez345 @gillespi314 @mna @roperzh

georgekarrv avatar Feb 14 '24 17:02 georgekarrv

As discussed in estimation, linking to this ticket that also relates to the disk encryption endpoint

gillespi314 avatar Feb 14 '24 19:02 gillespi314

Note that the scope of this ticket (as estimated) does not cover updating the UI/fleetctl/fleetd to use the new endpoints.

mna avatar Mar 05 '24 16:03 mna

@noahtalerman @rachaelshaw I updated the spreadsheet while implementing the new endpoints, I highlighted in yellow the endpoints that are not platform-agnostic yet (either because they specifically require Apple MDM to be enabled or because they only apply to Apple, at least for now), and in green those that work for either Windows or Apple MDM.

This is just a heads-up, I don't think it's an issue for now, it's to make it clear that as part of this story, we're just making the new routes available, there's no change to the implementation (except for "Update disk encryption enforcement" which couldn't be a simple route path change). And as mentioned in my comment above, the UI/CLI/agent are not updated to use the new routes either. (I can create a new ticket as a follow up for this, let me know if there's not already something to track this work)

Also, did we reach a decision regarding /abm and /apns vs the non-acronym form? Referring to this: https://github.com/fleetdm/fleet/pull/16728/files#r1488694302 and https://github.com/fleetdm/fleet/pull/16728/files#r1488694787.

mna avatar Mar 05 '24 16:03 mna

QA: went through all the endpoints listed here: https://github.com/fleetdm/fleet/pull/16728 , both the old version and the new version using curl and everything worked fine.

roperzh avatar Apr 01 '24 15:04 roperzh

C&C: need to make fresh PRs to the docs (draft PR was open a long time, messing with the PR open time KPI). TODO @rachaelshaw

rachaelshaw avatar May 02 '24 18:05 rachaelshaw

C&C: Doc PRs are still open. cc @rachaelshaw

noahtalerman avatar May 09 '24 18:05 noahtalerman

Docs PR is merged! https://github.com/fleetdm/fleet/pull/18886

noahtalerman avatar May 16 '24 15:05 noahtalerman

Endpoints shift, aligned, Fleet core, MDM enshrined. Clear path, users find.

fleet-release avatar May 16 '24 15:05 fleet-release