Commit graph

16792 commits

Author SHA1 Message Date
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
Lucas Manuel Rodriguez
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]
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 McNeil
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 Roskos
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 Talerman
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 Rodriguez
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 Ravazzolo
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
Kenny Botelho
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
Gabriel Hernandez
63b2e19630
allow turning off mdm for iphone and ipad hosts (#29087)
For [#23784](https://github.com/fleetdm/fleet/issues/23784)

This adds the "turn off mdm" option don't he host details page for
iPhone and iPad devices.

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [ ] Added/updated automated tests
- [ ] Manual QA for all new/changed functionality
2025-05-15 12:38:07 +01:00
Gabriel Hernandez
5815dc4e54
Feat UI host filter by custom profiles (#29038)
For #28759

This is the UI work for being able to filter hosts by a configuration
profile status. There are also added tests in this PR.


![image](https://github.com/user-attachments/assets/b2585093-b191-4dc5-a11e-55ad4156d713)


- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-05-15 12:37:45 +01:00
Lucas Manuel Rodriguez
e637e7e1a7
Add step to regenerate osquery schema during osquery release to edge (#29114) 2025-05-15 08:20:39 -03:00
Patrick Gallagher
305f1b1b67
Update macos-setup-experience.md (#28903)
Added note regarding the need to sign the Munki package or use the
signed version on the MacAdmins project
2025-05-14 15:55:24 -05:00
Josh Roskos
8de14e8079
Updated team-based kanban boards link to now reference Github projects (#29024)
Updated Why make work visible? section to update link from Zenhub to
Github projects.

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-05-14 15:12:50 -05:00
jacobshandling
eac2b575f8
UI - singular for single host targeted in bulk run (#29097)
Small clean up

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-14 12:59:58 -07:00
Patrick Gallagher
8ef0a00178
Update cis-benchmarks.md (#28947)
Malformed link
2025-05-14 14:00:47 -05:00
Victor Lyuboslavsky
7c8710996e
Research doc for Apple user channel. (#29016) 2025-05-14 11:20:02 -05:00
Jorge Falcon
a31e2a8ba6
Update how-to-configure-logging-destinations.md (#28980)
- Fixing broken links in the `how-to-configure-logging-destinations.md`
guide for setting up kinesis or firehose logging.
2025-05-14 10:51:30 -05:00
RachelElysia
56b34eb29f
Fleet UI: Allow self-service uninstallations of FMA and custom packages (#29055) 2025-05-14 11:42:37 -04:00