fleet/frontend/interfaces
jacobshandling 096d67dd5a
Linux disk encryption: frontend changes, backend missing private key errors, remove disk encryption endpoints dependence on MDM being enabled (#23714)
## Addresses #22702,  #23713, #23756, #23746, #23747, and #23876
_-Note that much of this code as is will render as expected only once
integrated with the backend or if manipulated manually for testing
purposes_

**Frontend**:
- Update banners on my device page, tests
- Build new logic for calling endpoint to trigger linux key escrow on
clicking `Create key`
- Add `CreateLinuxKeyModal` to inform user of next steps after clicking
`Create key`
- Update banners on host details page, tests
- Update the Controls > OS settings section with new logic related to
linux disk encryption
- Expect and include counts of Linux hosts in aggregate disk encryption
stats UI
- Add "Linux" column to the disk encryption table
- Show disk encryption related UI for supported Linux platforms
- TODO: confirm platform string matching functionality in manual e2e
testing
- Expand capabilities of `SectionHeader` component, apply to new UI
- Flash "missing private key" error, with clickable link, when trying to
update disk encryption enabled while no server private key is present.
- TODO: QA this once other endpoints on Controls > Disk encryption are
enabled even when MDM not turned on
- Update Disk encryption key modal copy


-Other TODO:
  - Confirm when integrated with API:
    - Aggregate disk encryption counts
    - Disk encryption table Linux column
    - Show disk encryption key action on host details page when expected
    - Opens Disk encryption key modal, displays key as expected
  
**Backend**:
- For "No team" and teams, error when trying to update disk encryption
enabled while no server private key is present.
- Remove requirement of mdm being enabled for use of various endpoints
related to Linux disk encryption
- Update tests


_________
**Host details and my device page banners**

![banners](https://github.com/user-attachments/assets/b76fbfbd-0969-40eb-b8b1-9fd0d4fd0f4f)

**Create key modal**
<img width="1799" alt="create-key-modal"
src="https://github.com/user-attachments/assets/81a55ccb-b6b9-4eb6-b2ff-a463c60724c0">

**Enabling disk encryption**

![turning-on-enforcement](https://github.com/user-attachments/assets/005010b9-2238-46f8-9579-f07823898a78)

**Disk encryption: Fleet free**
<img width="1912" alt="free"
src="https://github.com/user-attachments/assets/9f9cace3-8955-47c2-87d9-24ff9387ac1a">

**Custom settings: turn on MDM**
<img width="1912" alt="turn on mdm"
src="https://github.com/user-attachments/assets/4d3ad47b-4035-4d93-86f0-dc2691b38bb4">

**Device status indicators**

![host-status-indicators](https://github.com/user-attachments/assets/5fc72c1e-816b-45b3-a650-5c1fcc48f09e)

**Encryption key action and modal**

![de-key-action-and-modal](https://github.com/user-attachments/assets/632f7b2c-c07e-4e30-87ef-e6437ae42a78)



- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
  - [ ] Full e2e testing to do when integrated with backend

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-11-20 11:58:47 -08:00
..
activity.ts Added activity item for fleetd enrollment with host serial and display name. (#23790) 2024-11-18 15:51:36 -06:00
campaign.ts update UI to react 18 (#17471) 2024-03-13 19:09:16 +00:00
config.ts Frontend – Custom MDM URL UI, Update data validation pattern (#22727) 2024-10-22 10:10:50 -07:00
config_option.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
datatable_config.ts update UI to react 18 (#17471) 2024-03-13 19:09:16 +00:00
decorators.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
dropdownOption.ts Add UI for uploading custom profiles with target of hosts that include all/exclude any selected labels (#19587) 2024-06-11 13:23:30 +01:00
empty_table.ts Icons improvements (making frontend consistent with Figma component library) (#14185) 2023-10-31 16:06:38 +00:00
enroll_secret.ts Add/Edit/Delete enroll secret UI (#2645) 2021-11-15 16:16:06 -05:00
errors.ts feat: enable multiple ABM and VPP tokens (#21693) 2024-08-29 18:51:46 -04:00
form_field.ts Define new Query interfaces for queries with scheduling features (#12676) 2023-07-12 13:22:56 -07:00
host.ts UI - add example values for IHostMaintenanceWindow in comments (#20770) 2024-07-25 15:31:04 -07:00
host_summary.ts (Released bugs) Fleet UI label bugs: Dynamic platform labels, chromeos dashboard filters for missing chromeos hosts (#16680) 2024-02-09 11:02:23 -05:00
host_users.ts Host Details Page: Users table (#1152) 2021-06-22 12:26:57 -07:00
installer.ts Add UI for Fleet Sandbox to download prepackaged installers (#6721) 2022-07-19 14:28:06 -05:00
integration.ts Fleet UI: Add SCEP integration to MDM settings (#22275) 2024-10-15 09:23:59 -04:00
invite.ts Fleet UI: 1 new premium role (Observer+, GitOps is hidden) (#11028) 2023-04-07 11:36:47 -04:00
label.ts Frontend refactor: To typescript, remove unused testing stubs, functi… (#20306) 2024-07-24 12:08:38 -04:00
license.js add prettier and have it format all fleet application code (#625) 2021-04-12 14:32:25 +01:00
macadmins.ts Add MDM Card to Windows and All Dashboards and change mdm data source on host details page (#8960) 2022-12-16 15:12:11 -06:00
mdm.ts Linux disk encryption: frontend changes, backend missing private key errors, remove disk encryption endpoints dependence on MDM being enabled (#23714) 2024-11-20 11:58:47 -08:00
notification.ts UI - Improve UX of Flash messages (#22836) 2024-10-22 10:52:20 -07:00
operating_system.ts more interface updates (#16644) 2024-02-15 10:35:05 -07:00
osquery_table.ts Frontend of iOS/iPadOS as platforms/labels (#20157) 2024-07-09 09:18:00 -04:00
pack.ts Frontend: Organize response interfaces into appropriate interface directories (#8742) 2022-11-18 11:25:39 -05:00
package_type.ts FMA: missing pieces (#22593) 2024-10-03 14:49:27 -03:00
platform.ts Linux disk encryption: frontend changes, backend missing private key errors, remove disk encryption endpoints dependence on MDM being enabled (#23714) 2024-11-20 11:58:47 -08:00
policy.ts UI – Add policy automation modal for running scripts (#22436) 2024-10-03 18:06:20 -07:00
query.ts Feature: 15605 merge inherited queries and policies (#18771) 2024-05-07 12:10:06 -04:00
query_report.ts Added server_settings.query_report_cap (#19692) 2024-06-14 12:24:01 -03:00
query_stats.ts Feature: 15605 merge inherited queries and policies (#18771) 2024-05-07 12:10:06 -04:00
registration_form_data.js Remove username from UI (#1168) 2021-06-24 13:42:29 -07:00
registration_form_data.ts Fix missing field in setup confirmation (#2005) 2021-09-10 18:53:28 -05:00
role.ts Fleet UI: 1 new premium role (Observer+, GitOps is hidden) (#11028) 2023-04-07 11:36:47 -04:00
schedulable_query.ts Fleet UI: Add enable automations slider to query forms (#23562) 2024-11-13 09:32:59 -05:00
scheduled_query.ts Feature: 15605 merge inherited queries and policies (#18771) 2024-05-07 12:10:06 -04:00
script.ts Fleet UI: iOS and iPadOS host actions dropdown (#19599) 2024-06-12 12:16:23 -04:00
software.ts Expose counts_updated_at on software title by-ID endpoint, show in UI (#23478) 2024-11-05 09:54:02 -06:00
ssoSettings.ts Fleet UI: No role = no access, refactor jsx class components to typescript functional components (#12953) 2023-08-02 11:29:49 -04:00
status_labels.ts Include MIA hosts under total count for Offline hosts (#5854) 2022-05-23 14:11:02 -05:00
target.ts Frontend refactor: To typescript, remove unused testing stubs, functi… (#20306) 2024-07-24 12:08:38 -04:00
team.ts Fleet UI: Add minimum version requirement information to Host Details page (#20505) 2024-07-25 16:33:36 -04:00
team_subnav.ts UI – Team-level host expiry setting (#16276) 2024-01-25 18:19:49 +00:00
user.ts Fleet UI: No role = no access, refactor jsx class components to typescript functional components (#12953) 2023-08-02 11:29:49 -04:00
version.ts Auth Redux Removal (#4924) 2022-04-07 09:08:00 -07:00
vulnerability.ts Fleet UI: Improve CVE search responses (#21286) 2024-08-14 11:41:56 -04:00
webhook.ts UI – Activity feed webhook automation modal (#19285) 2024-05-28 13:18:02 -07:00