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

feat: macOS DDM support #17886

Merged
merged 29 commits into from Mar 27, 2024
Merged

feat: macOS DDM support #17886

merged 29 commits into from Mar 27, 2024

Conversation

roperzh
Copy link
Member

@roperzh roperzh commented Mar 27, 2024

for #14550

PR for docs update: #17888

Checklist for submitter

If some of the following don't apply, delete the relevant line.

  • Changes file added for user-visible changes in changes/ or orbit/changes/.
    See Changes files for more information.
  • Input data is properly validated, SELECT * is avoided, SQL injection is prevented (using placeholders for values in statements)
  • Added/updated tests
  • If database migrations are included, checked table schema to confirm autoupdate
  • For database migrations:
    • Checked schema for all modified table for columns that will auto-update timestamps during migration.
    • Confirmed that updating the timestamps is acceptable, and will not cause unwanted side effects.
  • Manual QA for all new/changed functionality

Roberto Dip and others added 26 commits March 14, 2024 18:08
This includes the base types and the request handlers to reduce the
chances of conflicts.
it delegates any extra unmarshaling to the caller. We might consider
building our own types in the future instead of relying on micromdm, but
these are used only for tests right now.
this is to prevent nanomdm to send the DeclarativeManagement command
every time the host checks in.
Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
Improvements and fixes I found while integrating this

- Renamed db columns to match the profile tables for consistency
- Added columns to `host_mdm_apple_declarations`
- Removed `team_declaration_checksum_view`
- Remove the ad-hoc `MDMAppleRecordDeclarativeCheckIn`, I confused
myself by developing this using tests, the device actually sends an
`Acknowledged` response, which is recorded by nano
- Fixed bugs in the `declaration/../..` endpoints
    - The prefix for the endpoint is `declaration` without `s`
- The response needs to include a `ServerToken`, otherwise the
declaration fails
relates to #17416

update UI to support new DDM profile types. this includes:

- updating Custom settings page
- updating the os settings modal  

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality
for #17404. I couldn't find tests for this portion of the code, so full
tests for this section will need to be added during freeze.
relates to #17409

adds the ddm activities to the UI.

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
- [x] Manual QA for all new/changed functionality
…cOS declarations (#17866)

Issue #17619

---------

Co-authored-by: Roberto Dip <dip.jesusr@gmail.com>
relate to #17416

update to uploading, downloading, and deleting ddm profiles.

- [x] Manual QA for all new/changed functionality
mna
mna previously approved these changes Mar 27, 2024
mna
mna previously approved these changes Mar 27, 2024
Copy link

codecov bot commented Mar 27, 2024

Codecov Report

Attention: Patch coverage is 76.13010% with 433 lines in your changes are missing coverage. Please review.

Project coverage is 65.53%. Comparing base (1777b9c) to head (94c55f9).

Files Patch % Lines
server/service/apple_mdm.go 58.77% 113 Missing and 35 partials ⚠️
server/datastore/mysql/apple_mdm.go 86.52% 86 Missing and 32 partials ⚠️
server/mock/datastore_mock.go 4.25% 45 Missing ⚠️
server/service/mdm.go 77.19% 23 Missing and 3 partials ⚠️
server/fleet/activities.go 14.28% 24 Missing ⚠️
...l/migrations/tables/20240327115530_AddDDMTables.go 88.23% 10 Missing and 4 partials ⚠️
...e/cards/ActivityFeed/ActivityItem/ActivityItem.tsx 0.00% 12 Missing ⚠️
...ngsModal/OSSettingsTable/OSSettingsTableConfig.tsx 25.00% 6 Missing ⚠️
server/datastore/mysql/mdm.go 87.50% 4 Missing and 2 partials ⚠️
server/datastore/mysql/mysql.go 80.64% 4 Missing and 2 partials ⚠️
... and 10 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main   #17886      +/-   ##
==========================================
+ Coverage   65.37%   65.53%   +0.16%     
==========================================
  Files        1206     1208       +2     
  Lines      110310   111913    +1603     
  Branches     2592     2595       +3     
==========================================
+ Hits        72110    73346    +1236     
- Misses      32688    32977     +289     
- Partials     5512     5590      +78     
Flag Coverage Δ
backend 66.57% <77.01%> (+0.17%) ⬆️
frontend 51.21% <23.33%> (-0.07%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@mna mna marked this pull request as ready for review March 27, 2024 15:36
@mna mna requested review from a team as code owners March 27, 2024 15:36
@roperzh roperzh merged commit 087d758 into main Mar 27, 2024
24 checks passed
@roperzh roperzh deleted the feat-macos-ddm branch March 27, 2024 15:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants