Commit Graph
1340 Commits
Author SHA1 Message Date
RachelElysia 2efb48ee0c Fleet UI: Clean up dashboard loading state (#12395) 2023-06-19 12:08:33 -04:00
RachelElysia 39a60e037e Fleet UI: Variable Fleet URL for ChromeOS extension (#12393) 2023-06-19 11:28:11 -04:00
RachelElysia eefd81233f Fleet UI: Hiding tables and columns from the UI if they are set to hidden (#12298) 2023-06-16 11:38:52 -04:00
Lucas Manuel Rodriguez bac309c978 Provide feedback to user in fleetctl login when using env vars (#12371)
Issue reported by @jarodreyes.

The user was not informed that `fleetctl login` was using the PASSWORD
environment variable:

`main`:
```sh
export PASSWORD=wrong

fleetctl login
Log in using the standard Fleet credentials.
Email: a@b.c
Error: Login failed: login received status 401 Authentication failed: Authentication failed
```
And with the changes on this PR:
```
export PASSWORD=wrong

fleetctl login
Log in using the standard Fleet credentials.
Email: a@b.c
Using value of environment variable $PASSWORD as password.
Error: Login failed: login received status 401 Authentication failed: Authentication failed
```
2023-06-16 11:42:04 -03:00
Juan Fernandez 55d56ba2db If the fleet/forgot_password endpoint is rate limited, it should return the proper status code (#12323)
Return proper HTTP status code if endpoint is rate limited.
2023-06-15 15:41:04 -04:00
Juan Fernandez 7226b7f087 Warnings in fleetctl should use Stderr not Stdout (#12316)
Fixed issue were the expired license banner was being sent to Stdout instead of Stderr
2023-06-15 13:13:41 -04:00
Juan Fernandez e7ded8d0c8 When authorizing users on the PolicySpec endpoint, return proper status code if team not found (#12335)
Return proper status code on policy spec endpoint if team not found.
2023-06-15 12:46:54 -04:00
gillespi314 87fe00db71 Create new Fleet osquery extension table to read escrowed FileVault key (#12198) 2023-06-15 10:23:59 -05:00
RachelElysia adee3fb447 Fleet UI: [Released styling bug] Fix setup icon pushed off setup steps (#12318) 2023-06-14 08:52:31 -04:00
Martin Angers 09d2ccd009 Add Windows MDM feature flag environment variable (#12306) 2023-06-14 08:44:42 -04:00
Martin Angers 68fa60c54d Add a transferred_hosts activity when hosts are transferred to a new team (#12287) 2023-06-14 08:15:05 -04:00
Luke Heath 55387eb189 Prepare v4.33.0 (#12302) 2023-06-12 20:35:28 -05:00
RachelElysia 215331cd08 Fleet UI: Fix released bug where deleting multiple pages of hosts only deleted first 50 (#12247) 2023-06-09 12:56:09 -04:00
Juan Fernandez 98d9f1b068 If user is a global/team observer/observer+, 'teams' endpoints should not include secrets (#12216)
Fixed auth. issue with Obs/Obs+
2023-06-08 17:30:34 -04:00
Jacob ShandlingandJacob Shandling 1c18765dfa UI: Security patch (#12229)
## Addresses
[confidential/2940](https://github.com/fleetdm/confidential/issues/2940)

Patched a potential security issue in UI

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-06-08 13:13:27 -04:00
Roberto Dip ba68082543 return a 4xx error if a SSO session is not found (#12211)
for #12113
2023-06-07 21:12:44 -03:00
Roberto Dip ab9ac28538 upgrade go version to 1.19.10 (#12187)
for #12177
2023-06-07 17:59:30 -03:00
RachelElysia 13e3d8b9b2 Fleet UI: Click dropdown label option again to deselect on manage host table (#12202) 2023-06-07 16:47:10 -04:00
Lucas Manuel Rodriguez 2a532ede94 Do not return empty SSO and SMTP settings for non-global-admins (#12180)
#11266

PS: I first attempted a serialization trick by introducing a new
`appConfigResponse` and implementing `json.Marshal` to exclude these
fields but it was too hacky and hard to maintain moving forward, so I'm
bitting the bullet now. Happy to hear other ideas.

- [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.
- ~[ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)~
- ~[ ] Documented any permissions changes~
- ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)~
- ~[ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.~
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality
  - ~For Orbit and Fleet Desktop changes:~
- ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.~
- ~[ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-06-07 16:06:36 -03:00
Martin Angers f390055847 Fix table formatting of fleetctl get mdm-command-results output (#12197) 2023-06-07 14:35:48 -04:00
Martin Angers 68ddaafac0 Fix bug preventing gitops role from fleetctl applying macos setup assistant (and bootstrap package) (#12193) 2023-06-07 13:29:36 -04:00
RachelElysia 95e7b9eda3 Fleet UI: Improvements to Sandbox mode styling (#12195) 2023-06-07 12:00:02 -04:00
Jacob ShandlingandJacob Shandling 9c44ce040f UI: Add ChromeOS supporting features to the ManageHosts page (#12185)
## Addresses #11828 
- [x] Add ChromeOS platform filter
- [x] Increase dropdown widths to 180px for screen >1100px of:
   - [x] platform dropdown
   - [x] Labels dropdown (for consistency)
- [x] Add new null empty cell value “Not supported” for Chromebooks
- [x] Apply to the following columns:
    - [x] Disk space available
    - [x] MDM status
    - [x] MDM server URL
    - [x] Last restarted
- [x] Fix a misaligned icon in the labels dropdown, other small fixes
 
<img width="1184" alt="Screenshot 2023-06-06 at 7 09 26 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/ee6fb72c-f66e-44a4-a321-8eaefff3b70b">


# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-06-06 19:37:25 -04:00
Roberto Dip 6617938393 ensure we send post-enrollment commands if a DEP device is enrolling (#12159)
for #11257, h/t to @mna for the idea of resetting `token_update_tally`.

this is to cover scenarios where a host might be re-enrolling (eg: the
device has been wiped) but we don't know about it.

since `TokenUpdate` might be called multiple times during the lifecycle
of an MDM enrollment, we add a check on the value of
`nano_enrollments.token_update_tally`. For the scenarios described
above, the tally is still `> 0` even thought the host is enrolling for
the first time.

to mitigate this, we reset its value to 0 when we receive an
`Authenticate` message (which only happens only per enrollment)

I set the value to `0` because it's incremented to `current_value+1` by
nanomdm before calling our handler.
2023-06-06 20:18:14 -03:00
Jacob ShandlingandJacob Shandling 7da0503ada UI: Add ChromeOS UI elements to the Host Details page (#12093)
## Addresses #11830 
[Demo with simulated Chromebook
host](https://loom.com/share/5d6dda3a9c4a47bfbf1aadc900e1750a)
- Add features for ChromeOS
- Address some technical debt around this area
<img width="441" alt="agent options with tooltip and hardcoded values"
src="https://github.com/fleetdm/fleet/assets/61553566/0e0448f6-a896-4804-9b65-8eb289798c55">
<img width="1150" alt="disabled Schedule tab for chromeOS"
src="https://github.com/fleetdm/fleet/assets/61553566/ce6963ca-643a-45d1-9e68-6699eaa3a8f6">
<img width="411" alt="disk encryption"
src="https://github.com/fleetdm/fleet/assets/61553566/df486abd-bca6-43d1-92ab-8f6ea33dfb39">
<img width="1118" alt="no disk space graph"
src="https://github.com/fleetdm/fleet/assets/61553566/91823896-c824-40f1-ac15-6c8197aedd6b">

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-06-06 17:30:51 -04:00
Jacob ShandlingandJacob Shandling 5cc6e5e445 UI: Add ChromeOS features to the Dashboard page (#12105)
## Addresses #11825 

- [x] Add ChromeOS to Dashboard page: <img width="1365" alt="Screenshot
2023-06-02 at 4 01 12 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/e846c4b6-5fcb-4847-af05-67b2237ada39">
- [x] Add to platforms dropdown, confirm order of platform options, add
route
    - [x] Hosts summary card
- [x] Add responsiveness for <980px <img width="952" alt="Screenshot
2023-06-02 at 4 02 44 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/93662957-c590-40e0-876d-6ce4adabad2b">
- [x] TODO: Confirm label number of chrome hosts label - ask Juan on
[this issue](https://github.com/fleetdm/fleet/issues/11829) - needed to
call an API to get this id
    - [x] Missing hosts card (didn’t need any changes)
    - [x] Low disk space hosts card (Not supported)
    - [x] Operating systems card

**Note for reviewers:** There is an API call happening from the
HostsSummary component to get the id for the ChromeOS label needed for
the URL to the filtered manage hosts page. This feature working properly
depends on the response from that endpoint, which is WIP. UPDATE 6/5 -
the endpoint is now working and being called correctly, though the id
being returned is WIP (backend). No need to replace anything to test.


## Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/` 
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-06-06 16:44:21 -04:00
cecb96e828 Live query performance improvements (#11995)
## Addresses #11856 

Improve performance of the rendering of live query results by:
- rendering the table on a set interval instead of with each new result
- preventing redundant rerenders of various sorts



Partial run, with memory leak:
<img width="2552" alt="partial run with memory leak, after smaller
optimizations, before debouncing queryResults"
src="https://github.com/fleetdm/fleet/assets/61553566/5288bffb-6940-43da-9083-59adb4a25916">

Full run after debounce, no memory leak (10x improvement of max JS heap
size):
<img width="2559" alt="full run after debounce, no memory leak"
src="https://github.com/fleetdm/fleet/assets/61553566/be056610-e7a5-4289-a433-1070cf016e83">

**NOTE** - there are further optimizations to try on this page, and the
debounce interval can potentially be shortened to improve UX. In
experimenting with that, it's not immediately clear what a good balance
of UX / performance is. Since the customer seems keen to solve this, I
think we should merge as-is and send them a demo build to confirm this
fixes their problem, then iterate once they've confirmed it does.

# Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Sarah Gillespie <sarah@fleetdm.com>
2023-06-06 16:23:09 -04:00
Martin Angers f27fcddd55 Prevent clearing macos updates settings when applying/modifying a team without those settings (#12160) 2023-06-06 14:31:33 -04:00
Roberto Dip 3127c9fffd handle "modified" and "deleted" operation types in DEP sync (#12150)
for #10605, this modifies the cron used to ping the list/sync devices
API from ABM to account for the "deleted" and "modified" operation
types.

We know that:

1. Sometimes, Apple sends a "modified" operation type when a device's
MDM server is reassigned in ABM, up until now, we were ignoring these
devices.
2. Devices that are no longer assigned to Fleet in ABM can't be
migrated.
2023-06-06 15:04:59 -03:00
Gabriel Hernandez 2c9c9b4f0e add verified status to UI for profile statuses (#11886)
relates to #11238

This implements the Verified status for the profile statute on the macOS
settings pages and the Host Details and My Device pages.

- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
- [x] Manual QA for all new/changed functionality
2023-06-06 15:52:10 +01:00
Juan Fernandez 1eb8bb800e Bug: spec/labels endpoint should include the id (#12135)
spec/labels endpoint should include the ID prop
2023-06-06 09:11:03 -04:00
Juan Fernandez 90197d83ae Bug 11525: Fixed navigation issues on 'My Device' page (#12102)
Fixed navigation on DeviceUserPage Tab components.
2023-06-06 06:46:46 -04:00
Martin Angers 9f064acd2e Match pre-assigned profiles to a team (or create one) and assign host to team (#12127) 2023-06-05 15:08:21 -04:00
gillespi314 372c77ff23 Add backend for verified MDM profiles (#12078) 2023-06-05 12:05:28 -05:00
Martin Angers 48774876ea Move post-DEP-enrollment processing to a worker job (#12017) 2023-06-05 11:58:23 -04:00
Roberto Dip 3fa809e167 strip query strings from MDM server_url during ingestion (#12107)
for #12106
2023-06-05 12:53:36 -03:00
gillespi314 b08881b0d9 Added "Action required" status for disk encryption MDM profile in UI for host details and device user pages (#11970) 2023-06-05 10:52:57 -05:00
RachelElysia 9ecf9dc09a Fleet UI: Update icons (6 icons only) (#11907) 2023-06-02 09:48:17 -04:00
Martin Angers 2f59a8cde1 MDM docs: Instructions for viewing recent MDM commands (#12006)
- Add section for viewing recent MDM commands using fleetctl get mdm-commands
- Add example output for fleetctl get mdm-commands and fleetctl get mdm-command-results
2023-06-02 09:46:12 -04:00
RachelElysia 695fa7d1b0 Fleet UI: Activity dashed lines to be variable length using grids (#12101) 2023-06-02 09:43:53 -04:00
RachelElysia de57747045 Fleet UI: Fix jumpy tabs (#11994) 2023-06-02 09:30:41 -04:00
Gabriel Hernandez 75212d81d4 Feat UI add end user auth to controls page (#11991)
relates to #11002

Implements the UI for mdm macos setup end user authentication page.


![image](https://github.com/fleetdm/fleet/assets/1153709/1af6c5d7-99d0-401d-9938-a78617eca817)


![image](https://github.com/fleetdm/fleet/assets/1153709/8f0ed8cc-63f5-425b-8f3a-f2f83ed018f7)



- [x] Changes file added for user-visible changes in `changes/` or
`orbit/changes/`.
- [x] Manual QA for all new/changed functionality
2023-06-02 14:14:39 +01:00
Lucas Manuel Rodriguez 2d21b2be29 Provide more feedback to the user when there's a Redis connection issue when running live queries (#11947)
This could help future users to detect this issue: #10957
It also adds an error log in Fleet that prints the actual error.

The error is displayed if I kill Redis during a live session or if I set
`client-output-buffer-limit` to something real low like `CONFIG SET
"client-output-buffer-limit" "pubsub 100kb 50kb 60"`:
![Screenshot 2023-05-25 at 09 08
08](https://github.com/fleetdm/fleet/assets/2073526/f021a77a-3a22-4b48-8073-bae9c6e21a11)

- [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.
- ~[ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)~
- ~[ ] Documented any permissions changes~
- ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)~
- [X] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- ~[ ] Added/updated tests~
- [X] Manual QA for all new/changed functionality
  - ~For Orbit and Fleet Desktop changes:~
- ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.~
- ~[ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-06-01 16:11:55 -03:00
Roberto Dip 46ee3af436 fix issues with MDM migration modal (#12059)
For issues #12003 and #12051

# Checklist for submitter

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

- [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] Added/updated tests
- [x] Manual QA for all new/changed functionality
2023-05-31 17:25:22 -03:00
Martin Angers 4322a28f5a Implement preassign endpoint as first step to match profiles and hosts to teams (#12046) 2023-05-31 09:24:22 -04:00
Juan Fernandez 43ab81ee11 Feature 11829: Tailor host table response to ChromeOS (#12002)
Updated ingestion logic and fixed ChromeOS virtual tables to accommodate the requested UI changes.
2023-05-30 22:13:42 -04:00
RachelElysia bc8d89f804 Fleet UI: Add ChromeOS hosts (#11984) 2023-05-30 19:17:14 -04:00
Lucas Manuel Rodriguez 33d61044b5 Change role of existing users only if SSO attributes are present in the SAMLResponse (#11966)
#10784

The removal of the now deprecated `sso_settings.enable_jit_role_sync`
config will be tackled in: #10688.

- [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.
- ~[ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)~
- ~[ ] Documented any permissions changes~
- ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)~
- ~[ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.~
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality
  - ~For Orbit and Fleet Desktop changes:~
- ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.~
- ~[ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-05-30 17:49:59 -03:00
Jacob ShandlingandJacob Shandling a6099a9f92 UI: Set sandbox add hosts modal to standard width (#12001)
## Addresses #11993 

**before:**
<img width="730" alt="dc2b128e-a8b2-46ac-a61d-945c04344c02"
src="https://github.com/fleetdm/fleet/assets/61553566/d9366265-5de1-41ef-971c-3c9c02ea986c">

**now:**
<img width="1504" alt="Screenshot 2023-05-26 at 7 26 09 PM"
src="https://github.com/fleetdm/fleet/assets/61553566/f549fe5c-02fc-4216-bb2c-295360da6656">

## Checklist for submitter

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

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2023-05-30 13:47:29 -07:00
Lucas Manuel Rodriguez 6acb567ade Accept and ignore SSO role attributes with null value (#11959)
#10878

- [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.
- ~[ ] Documented any API changes (docs/Using-Fleet/REST-API.md or
docs/Contributing/API-for-contributors.md)~
- ~[ ] Documented any permissions changes~
- ~[ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)~
- ~[ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.~
- [X] Added/updated tests
- [X] Manual QA for all new/changed functionality
  - ~For Orbit and Fleet Desktop changes:~
- ~[ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.~
- ~[ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).~
2023-05-30 16:57:03 -03:00