Commit Graph
16802 Commits
Author SHA1 Message Date
Sarah Gillespie b8acdfacdf Fix MDM lifecycle bug when deleting multiple hosts (#29278) 2025-05-20 14:22:40 -05:00
Dale Ribeiro 168d41a773 Update rest-api with additional_queries correction.md (#29184)
The additional_queries property in the modify configuration endpoint is
not a boolean. It should be an object that contains a key/value pair
with the name of the query and the query itself. I updated the
description and example to reflect this and match what we have in our
GitOps docs: https://fleetdm.com/docs/configuration/yaml-files#features

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [ ] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [ ] 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.
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [ ] 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.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] Added/updated automated tests
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/fleetd-development-and-release-strategy.md)).
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] 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)).
- [ ] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-20 13:13:25 -05:00
Brock Walters 5e8c5a52f3 Update mdm-commands.md (#29252)
Top down rewrite of the MDM command article with the intended purpose of
giving a clear example on using the API to deliver an MDM command in
addition to using fleetctl.
2025-05-20 13:54:24 -04:00
RachelElysia 7c69c69728 Fleet UI: Dashboard > Software fix cached data not updating UI (#29288) 2025-05-20 13:34:08 -04:00
Luke Heath 030c61ca17 Update contrib docs headers to sentence case (#29276) 2025-05-20 11:26:35 -05:00
Konstantin Sykulev a2a66af6e4 Fleet installed vpp apps, prior to being inventoried, correctly pull self service flag (#29272)
https://github.com/fleetdm/fleet/issues/29240

Prior to being accounted for in software inventory we store vpp app
installs in `host_vpp_software_installs`. The query pull data from this
table was not getting self service flag information which was necessary
for label scoping logic later on while fetching software available for
install on the service service page.

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-20 10:44:27 -05:00
Martin Angers 6051c28b55 BRP: cancel single profile on delete via UI (#29107) 2025-05-20 08:55:51 -04:00
Mike ThomasandEric 4be3235734 Update homepage.ejs (#29268)
Updated the tooltip for "Complete device inventory" on the comparison
table to emphasise "complete" by including servers and cloud instances.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-05-19 17:18:32 -05:00
Allen Houchins 130b99e377 Updated software and operating system version strings (#29273)
- Updated software and operating system version strings throughout
policies and software yml files
2025-05-19 15:50:48 -05:00
Sarah Gillespie aea4406b4f Improve MDM device-to-user mapping for Apple devices (#29239) 2025-05-19 13:29:46 -05:00
Jordan Montgomery 2029cc98d9 Revert "Always install Escrowbuddy and Swift Dialog (#28742)" (#29264)
This reverts commit a5bd50716d which was
this PR: https://github.com/fleetdm/fleet/pull/28742

It was determined that the behavior changes here conflict with other
changes being asked for by `customer-starchik`. Design to review and
come up with a different strategy for improving the behavior this change
originally was intended to fix

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- For Orbit and Fleet Desktop changes:
- [x] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md)).
- [x] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-19 13:23:05 -04:00
Noah Talerman 8f0b827aa4 routes.js: Update redirect to Android MDM guide (#29248)
Addresses this issue:
- #27338
2025-05-19 11:56:58 -05:00
Victor Lyuboslavsky 396a3f2edc Fixed/updated SCIM contributor guide. (#29257) 2025-05-19 11:29:36 -05:00
Scott Gress 26e4395926 Allow GitOps to clear global settings more easily using overwrite option (#29215)
for #28118 

# Checklist for submitter

- [X] Manual QA for all new/changed functionality

## Details

This PR adds an `overwrite` option to the "modify app config" API which,
if set, causes the code to replace certain keys in the existing config
with keys from the incoming config, without attempting any merge. This
is then used by GitOps to allow it to easily clear settings that were
otherwise being merged together or ignored entirely due to the PATCH
semantics expected for the `fleetctl apply` use case.

The new setting is utilized in this first pass for the following
settings:

* `sso_settings`
* `smtp_settings`
* `features`
* `mdm.end_user_authentication`

It could be expanded to several more keys that we currently handle
piecemeal in the GitOps code by attempting to send empty values to the
server (with varying success).

Targeting `mdm.end_user_authentication` vs. all of `mdm` is based on
[this bug](https://github.com/fleetdm/fleet/issues/26175) being opened.
The concern with doing all of `mdm` would be that anyone who had e.g.
VPP set up in their app and hadn't set it up in GitOps would have it
wiped out. If we're comfortable with that risk I can update that here
and update the warning accordingly.

### More detail 

**The way this code works _without_ Overwrite mode on**

1. We unmarshall the incoming JSON from GitOps into a fresh AppConfig
struct `newAppConfig`. Anything keys not present in the incoming JSON
will result in default values being set in `newAppConfig`
2. We unmarshall the incoming JSON from GitOps into the current
`appConfig`. This uses an internal merge algorithm where keys not
present in the JSON will generally leave the matching keys in
`appConfig` untouched. We've been dealing with this by having GitOps
find missing keys and explicitly set them to non-nil empty states. When
arrays are encountered, they are _merged_, not replaced, which is
problematic for the `features.additional_queries` use case and probably
others.
3. We piecemeal replace certain data in `appConfig` with data from
`newAppConfig`, and save it to the db.

**The way this works _with_ Overwrite mode on**

Between steps 1 and 2 above, we _copy_ certain keys from `newAppConfig`
to `appConfig`. If the incoming JSON didn't have a key, the effect will
be that `appConfig` now has default values for that key. For nested
arrays like `features.additionalQueries`, the value in `appConfig` will
be precisely what the user put in GitOps.

## Testing

I tested adding/removing these settings with GitOps manually via
`fleetctl gitops`. On the main branch I could reproduce the issue where
omitting out these keys in my YAML did not lead to the settings being
reset on my instance. With the Features settings, the issue was more
granular, with inconsistent behavior when trying to remove individual
nested settings. On this branch, the settings are cleared as expected at
all levels of granularity.

I also added some new automated tests to verify the expected behavior
for these keys. All existing tests pass.

If accepted this PR would supercede
https://github.com/fleetdm/fleet/pull/29180 which approaches the issue
from the GitOps side for sso, smtp and mdm. Adapting that approach for
`features` would require custom logic to declare nested properties as
"cleared".
2025-05-19 11:18:28 -05:00
Ian Littman aa733e66d5 Properly decode MSI product names from Windows-1252 (#29245)
For #27522.

See GDrive installer testdata for the Google Workspace Sync MSI used for
testing this.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Manual QA for all new/changed functionality
2025-05-19 10:39:57 -05:00
Ian Littman 980adc0c45 Improve .pkg metadata extraction for names and bundle IDs, let custom package metadata extraction tool check an entire directory at a time (#29249)
For #24083, #26597.

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-19 10:32:36 -05:00
Allen Houchins 7b20209f53 Update linux_wipe.sh (#29146)
Added paths requested by customer from this issue:
https://github.com/fleetdm/fleet/issues/29104
2025-05-19 10:25:23 -05:00
681b5d4353 Update changelog for fleetd 1.42.0 release (#29186)
Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-05-19 08:22:30 -03:00
Luke Heath 9156ce35dd Fix activity feed padding (#29234) 2025-05-17 15:07:05 -05:00
Luke Heath 7380919dc3 Organize contributor docs and establish ADR process and template (#29101) 2025-05-17 15:03:52 -05:00
Ian Littman 21006a1bd7 Batch host_software inserts in macOS names migration to improve performance for large host counts (#29238)
For https://github.com/fleetdm/confidential/issues/10596

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Manual QA for all new/changed functionality
2025-05-17 12:42:01 -05:00
Marko Lisica 7032a70865 [Feature guide] Setup Android MDM (#27688)
Related to:

- #23231
2025-05-17 11:56:37 -04:00
github-actions[bot]andlucasmrod 30a0f72d28 Update versions of fleetd components in Fleet's TUF [automated] (#29246)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2025-05-17 08:34:32 -03:00
Mike McNeilandEric ee880d953b Website: Trivial code shortening (#29231)
Just a nit

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-05-16 18:25:06 -05:00
Eric 2ced8a4d0b Website: update "Let's talk to your team" step of /start questionnaire (#29242)
Closes: #29194

Changes:
- Updated the "Got questions" CTA on the "Let's talk to your team" to go
to the contact form.
2025-05-16 18:16:37 -05:00
Josh RoskosandSam Pfluger 357ddf7893 Update foreign-vitals-map-idp-users-to-hosts.md (#29166)
Fixed typo

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-05-16 16:01:20 -05:00
RachelElysia 3d17c81018 Fleet UI: Clarify Host software/self-service status and version columns (#29008) 2025-05-16 15:09:24 -04:00
Jordan Montgomery 38811da1c0 Hold off on policy queries until after setup experience (#29159)
For #28205 

During setup experience customers often install all or most of the
software that would otherwise be installed based on the results of
policy queries. If we run policy queries during setup experience we end
up trying to install some software twice which, at best, leads to
confusing activities listed for the host. With these changes we will not
run policy queries on macOS hosts until after the host has exited setup
experience, at which point we should be able to avoid duplicate installs

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-16 14:56:27 -04:00
Gabriel Hernandez 9a32be0540 enable fleet secret variables in the macos setup script in gitops (#29164)
For #28215

Allows users to use fleet secret variables for macos setup script for
gitops.


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-16 19:05:33 +01:00
Zach Wasserman 59c857c4e0 Update Orbit build instructions (#29181) 2025-05-16 09:32:17 -07:00
Noah TalermanandEugene d1fed3ede7 Anyone at Fleet can test Fleet-maintained apps (#28831)
Render is how!

---------

Co-authored-by: Eugene <eugene@fleetdm.com>
2025-05-17 01:12:17 +09:00
Jahziel Villasana-Espinoza 8aa268b1b5 prevent panic if installer is removed from s3 (#29189)
> for #28815

# Checklist for submitter

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

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-16 11:27:13 -04:00
Gabe Lopez 9132627c89 Update Testing-and-local-development.md (#28892) 2025-05-16 10:15:21 -05:00
Noah Talerman 3a7c45ca35 Uninstall fleetd (#29202)
Local instructions
2025-05-16 10:22:52 -04:00
Luke Heath 157a153c31 Fix broken link (#29195) 2025-05-15 22:56:43 -05:00
Lucas Manuel RodriguezandScott Gress 7f85e529be Iterate status.md for reporting vulnerability updates (#29062)
For #28805.

See scenario we want to support in the linked issue.

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
2025-05-15 21:15:37 -03:00
Eric 27b8dbd585 Docs: Update macOS software host vital query (#29139)
Changes:
- Updated the macOS software host vital query
2025-05-15 18:26:35 -05:00
Noah Talerman b012a0be67 Uninstall fleetd scripts: "fleetd" (#29196)
Fleet's agent is called "fleetd":
https://fleetdm.com/docs/get-started/anatomy#fleetd
2025-05-15 18:48:14 -04:00
Harrison RavazzoloandRachael Shaw 2d5219b447 clarifying section of webhooks (#29168)
Adding a clarification note to the documentation for gitops

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-05-15 16:49:46 -05:00
Irena Reedy 9e370b6748 Fixed broken link in contact us (#29188) 2025-05-15 15:16:27 -05:00
Jordan Moore 503a6b5e76 Documentation updates to Gitops sso_settings section (#29110)
Documentation updates to flip-flop the descriptions for
`enable_jit_provisioning` and `enable_sso_idp_login`
2025-05-15 15:09:02 -05:00
Irena Reedy 67c225f05f added Irena to Digital Experience handbook page (#29173) 2025-05-15 14:25:32 -05:00
Allen Houchins 476a369924 Updated target platforms on labels (#29167)
- Added `platform` targets for labels so labels weren't being applied to
out of scope devices unintentionally
2025-05-15 14:09:35 -05:00
RachelElysia f30d8e1bb8 Fleet UI: Confirmed toast messages to end user for self-service install/uninstall (#29179) 2025-05-15 14:35:49 -04:00
Victor Lyuboslavsky bfad93a1f0 Fixing issues with Apple DDM profile status (#29059)
For #27979 

This PR fixes Apple declarations issues:
- P2 issue with hashing the declaration token
- When declaration items are requested, mark any outstanding "remove"
operations as pending. This prevents "remove" operations from being
stuck in pending in some cases because they were actually already
processed.
- When updating verification status, don't update "remove" operations --
we don't update their status and we just delete them. This prevents the
issue where a "remove" operation got the updated status and the
"install" operation got stuck in verifying forever.
- when adding a declaration that has a matching remove outstanding, mark
the declaration verified. This prevents "install" operations from being
stuck in pending/verifying. Why? Because there is nothing for the host
to do if the same declaration was removed and then immediately added
back.
- migration to delete "remove" operations with non-nil and non-pending
status. These are the only legal statuses for remove operations.

# Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality
2025-05-15 13:05:25 -05:00
Victor Lyuboslavsky 890042d27a Force enrollment profile sync when an Apple device was added to ABM. (#29147)
For #27854

I was able to reproduce the issue by simply unassigning device from an
MDM server, and then assigning back. Once assigned back, Fleet did not
resend the profile to ABM, and device was not able to enroll into MDM.

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-15 12:29:38 -05:00
RachelElysia 4dc5f30dc1 Fleet UI: Surface copyable SHA256 hash on software details page (#29152) 2025-05-15 12:20:22 -04:00
2e1cc48925 feat: add NICE DCV Viewer as a maintained app (#28332)
This PR adds NICE DCV Viewer as a new maintained app for macOS. The app
is available through homebrew and is used for connecting to NICE DCV
remote display protocol.

---------

Co-authored-by: Kenny Botelho <kbotelho@nvidia.com>
Co-authored-by: Eugene <eugkuo@gmail.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
Co-authored-by: Noah Talerman <noahtal@umich.edu>
Co-authored-by: Jahziel Villasana-Espinoza <jahzielv@gmail.com>
2025-05-15 12:12:53 -04:00
JD 3dec7d58ba Article: how to use maintenance windows (Fleet in your calendar) (#20974) 2025-05-15 11:51:11 -04:00
Ian Littman 5ace1e621d Skip vulnerability checks on Docker DX VSCode plugin to avoid false positives due to overly broad Docker CPEs (#29156)
For #28983. No changes file since this is being released directly to the
vulns feed.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-15 09:16:33 -05:00