Commit Graph
21413 Commits
Author SHA1 Message Date
Victor Lyuboslavsky aaac4b1dfe Changes needed before gokit/log to slog transition. (#39527)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38889

PLEASE READ BELOW before looking at file changes

Before converting individual files/packages to slog, we generally need
to make these 2 changes to make the conversion easier:
- Replace uses of `kitlog.With` since they are not fully compatible with
our kitlog adapter
- Directly use the kitlog adapter logger type instead of the kitlog
interface, which will let us have direct access to the underlying slog
logger: `*logging.Logger`

Note: that I did not replace absolutely all uses of `kitlog.Logger`, but
I did remove all uses of `kitlog.With` except for these due to
complexity:
- server/logging/filesystem.go and the other log writers (webhook,
firehose, kinesis, lambda, pubsub, nats)
- server/datastore/mysql/nanomdm_storage.go (adapter pattern)
- server/vulnerabilities/nvd/* (cascades to CLI tools)
- server/service/osquery_utils/queries.go (callback type signatures
cascade broadly)
- cmd/maintained-apps/ (standalone, so can be transitioned later all at
once)

Most of the changes in this PR follow these patterns:
- `kitlog.Logger` type → `*logging.Logger`
- `kitlog.With(logger, ...)` → `logger.With(...)`
- `kitlog.NewNopLogger() → logging.NewNopLogger()`, including similar
variations such as `logging.NewLogfmtLogger(w)` and
`logging.NewJSONLogger(w)`
- removed many now-unused kitlog imports

Unique changes that the PR review should focus on:
- server/platform/logging/kitlog_adapter.go: Core adapter changes
- server/platform/logging/logging.go: New convenience functions
- server/service/integration_logger_test.go: Test changes for slog

# 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/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
  - Was added in previous PR

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Refactor**
* Migrated the codebase to a unified internal structured logging system
for more consistent, reliable logs and observability.
* No user-facing functionality changed; runtime behavior and APIs remain
compatible.
* **Tests**
* Updated tests to use the new logging helpers to ensure consistent test
logging and validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-11 10:08:33 -06:00
Ashish Kuthiala 37e7e84f3c Update README.md by removing obsolete links (#39679)
Removed outdated links (assets)
2026-02-11 10:08:05 -06:00
Ashish Kuthiala 7009ca8260 Update marketing README with new resources (#39677)
Removed outdated resources to the marketing README.
2026-02-11 09:11:33 -06:00
Scott Gress ddc0ee703d Update policy membership when policy labels change (#39201)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37182 

# Details

The `policy_membership` table records pass/fail status for each (host,
policy) tuple where the policy targets that host and has run at least
once on the host. It's used to get the # of failing policies for a host,
for the Fleet Desktop icon menu as well as the Policies badge on the
host details page.

When a policy changes materially (e.g. the query changed) we wipe all of
the `policy_membership` records for it, and if the `platform` changes we
_selectively_ wiped records for hosts that no longer met the platform
requirements. This PR adds logic to selectively wipe records for hosts
that no longer meet _label_ requirements when those requirements change.
This fixes issues where a policy would change which labels it applied
to, but hosts that weren't members of the new label set would still show
failures for that policy when clicking the Fleet Desktop icon.

# 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/`,
`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)

## Testing

- [X] Added/updated automated tests
- [X] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [X] QA'd all new/changed functionality manually
2026-02-11 08:56:01 -06:00
Irena Reedy 176478a382 Update fleet-4.80.0.md (#39662)
Added Youtube video to article
2026-02-11 09:28:44 -05:00
Adam BaaliandMarko Lisica f2f1f66d11 Add Windows MDM migration troubleshooting scripts and guide (#39548)
Closes #38916
Related: #34993, #33985, fleetdm/confidential#13228

## Changes

**Article update** (`articles/windows-mdm-setup.md`)
- Adds "Migrating from another MDM solution" subsection under **Manual
enrollment** with overview of common migration issues and links to
remediation scripts

**New scripts** (`docs/solutions/windows/scripts/`)
- `reset-mdm-enrollment-flag.ps1` — Resets MmpcEnrollmentFlag blocking
MDM status after migration
- `remove-stale-mdm-enrollment-records.ps1` — Clears orphaned enrollment
GUIDs, AAD discovery cache, and MS DM Server cache
- `fix-workplace-join-configuration.ps1` — Re-enables
Automatic-Device-Join task and configures Workplace Join policies
- `remove-unreachable-wsus-configuration.ps1` — Removes unreachable WSUS
server config that breaks Windows Update

## Context

Customers migrating Windows hosts from Intune to Fleet have been hitting
recurring enrollment issues, MDM status stuck on "Off," enrollment
errors (`0x80190190`, `0x8018000a`), and Windows Update breakage from
leftover RMM agents. These scripts consolidate the workarounds from
multiple customer engagements into self-serve remediation that can be
deployed via **Controls > Scripts**.

---------

Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2026-02-11 15:20:26 +01:00
Marko Lisica b7d9683fc5 Update the copy in the Android UI to ensure consistency with the rest of the product (#37690) 2026-02-11 14:54:56 +01:00
Jordan Montgomery 4b8ae92ee4 Add EV to allow bootstrap package install during migration (#39648)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39634

# 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/`,
`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)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually
2026-02-11 08:38:11 -05:00
Gabriel Hernandez 7ccf47ca44 update enroll page to include QR codes for enrolling various devices (#39389)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38880, #38881

This adds the UI updates to the enroll page to so that verious devices
can enroll after scanning the QR code.

> NOTE: still a small piece is needed to integrate with the API changes
and to ensure android devices can actually enroll with the new QR code.

# 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/guides/committing-changes.md#changes-files)
for more information.
- [x] QA'd all new/changed functionality manually
2026-02-11 09:57:36 +00:00
fleet-releaseandallenhouchins e0c01cdae4 Update Fleet-maintained apps (#39666)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-10 22:33:10 -06:00
fleet-releaseandallenhouchins df875c4971 Update Fleet-maintained apps (#39653)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-10 22:02:50 -06:00
Allen Houchins 5998ba05d2 Update SHA256 for Fleet Desktop (#39665) 2026-02-10 21:45:52 -06:00
Victor Lyuboslavsky b098963ed1 Reworked how we handle server/worker delays to fix flaky tests (#39609) 2026-02-10 20:26:43 -06:00
Ashish Kuthiala 141e1d6f7a Revise press boilerplate text for clarity (#39663)
Reordered sentence structure for clarity in press text.
2026-02-10 18:11:20 -06:00
Scott Gress d250bb322a Remove duplicate VPP section from it-and-security default .yml (#39660)
While working on some GitOps updates I noticed that our current
`default.yml` file is invalid, because it has a duplicate
`volume_purchasing_program` section. It looks like it was accidentally
copied during an update to rename some teams.
2026-02-10 17:26:48 -06:00
Ashish Kuthiala a08b7588a0 Update Marketing README with responsibilities and boilerplate (#39661)
Added responsibilities and press boilerplate text for the Marketing
department.
2026-02-10 17:23:58 -06:00
Rachael Shaw d124acc493 Document how to change label name without clearing membership (#39443)
See https://github.com/fleetdm/fleet/issues/38947
2026-02-10 17:08:03 -06:00
Noah Talerman 59cff14a91 API reference: List hosts includes last_opened_at (#39573)
- When `populate_software=true`
- This came up in GitHub here:
https://github.com/fleetdm/fleet/issues/38645#issuecomment-3863021910
2026-02-10 17:07:30 -06:00
Marko Lisica 50d6dd2652 Remove 'fleet_maintained' field from policy and software endpoints (#39605)
This field doesn't exist. Probably accidentally merged.
2026-02-10 17:07:12 -06:00
Steven Palmesano 32e06e9488 Default type is dynamic (#39580)
Also change platform -> type.

Discussed in #38868.
2026-02-10 17:06:49 -06:00
fleet-releaseandmostlikelee eecf846bba Update Fleet-maintained apps (#39646)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-02-10 16:44:15 -06:00
Dale RibeiroandAllen Houchins ab73f52408 Fix typos in firewall configuration profile (#39647)
Fixed typo in stealth firewall description. Changed organization from
FleetDM to Fleet.

---------

Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-10 16:33:33 -06:00
Jordan Montgomery b0c28bebdd Fix bootstrap assignment in preassign endpoint (#39619)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #
https://github.com/fleetdm/confidential/issues/14236

# 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/`,
`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)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually
2026-02-10 16:55:00 -05:00
Jonathan Katz d168f55f0e Only reverify Android profiles if they failed due to non-compliance (#39645)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #39606

# Checklist for submitter

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

## Testing

- [x] Added/updated automated tests
- [ ] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

For unreleased bug fixes in a release candidate, one of:

- [ ] Confirmed that the fix is not expected to adversely impact load
test results
- [ ] Alerted the release DRI if additional load testing is needed
2026-02-10 16:50:22 -05:00
Victor Lyuboslavsky af82b7c776 Reduce coderabbit noise. (#39635)
As discussed in 2026/02/10 Backend sync.
2026-02-10 14:55:06 -06:00
Allen Houchins 1f31da1adf Comment out Slack post_install_script (#39643)
Disable the Slack macOS post-install migration script by commenting out
the post_install_script path to
../lib/macos/scripts/migrate-slack-preferences.sh. Slack entry and
categories remain unchanged; the script can be re-enabled later if
needed.
2026-02-10 14:46:12 -06:00
Magnus Jensen abe840e3f3 improve APNS query efficiency (#39614)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34990 

# 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/`,
`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.

## Testing

- [ ] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
2026-02-10 15:40:44 -05:00
74239bf840 Don't tag g-website or flakey CI bugs with ~unreleased bug tag, add x & y version handling (#39514)
e.g. #39380, #39308, #39618.

We'll have more of these later.

---------

Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: iansltx <472804+iansltx@users.noreply.github.com>
2026-02-10 14:35:38 -06:00
Ian Littman c51c698830 Add note to release process about default fleetctl version in fleet-gitops repo (#39531)
This will change again once that repo is sunset but for now we don't
want to forget this step.
2026-02-10 14:35:20 -06:00
Ian Littman e15061fe7a Move branch declaration into env var to avoid having branch name be executable (#39636) 2026-02-10 14:11:17 -06:00
Ian Littman 6570e8846a 🤖 Update goreleaser snapshot build to pull version number from branch name when applicable (#39593)
For #39522.
2026-02-10 13:51:52 -06:00
Isabell Reedy 5dfd66ed75 Update custom.js DRI/maintainer for CEO page (#39622) 2026-02-10 19:45:14 +00:00
Eric b7ede4f20f Website: Update margin of CTA buttons and header navigation menu (#39629)
Changes:
- Increased the margin on the desktop header navigation menu to prevent
the dropdown menus from overflowing outside hte page's container at
certain widths
- Removed the right margin from "Get a demo" buttons
2026-02-10 13:40:50 -06:00
Allen Houchins f378831d71 Bump Firefox version check to 147.0.3 (#39627)
Update macOS policy query to treat Firefox versions older than 147.0.3
as outdated (previously 140.0.2). This adjusts the apps version_compare
threshold in it-and-security/lib/macos/policies/update-firefox.yml; no
other policy fields were modified.
2026-02-10 13:18:12 -06:00
github-actions[bot]andallenhouchins 3d0320c2b0 Update 1Password policy version (#39624)
This PR automatically updates both 1Password macOS version policy and
Safari version policy for dogfood.

The changes were generated automatically by the
[dogfood-automated-policy-updates
workflow](https://github.com/fleetdm/fleet/actions/workflows/dogfood-automated-policy-updates.yml).

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-10 13:11:04 -06:00
Victor Lyuboslavsky fe24ff1d67 Fixed a bug where certain macOS app names could be ingested as empty strings due to incorrect ".app" suffix removal. (#39563)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #34620

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [x] QA'd all new/changed functionality manually


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Bug Fixes
* Fixed an issue where macOS app names could become empty after removing
the ".app" extension. The app name extraction logic now correctly
handles edge cases, ensuring app names are properly ingested without
empty values.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-02-10 13:03:23 -06:00
Eric 75ffd8b12f Website: Update login/register flow, add Fleet UI background to /try and /login (#39290)
Closes: https://github.com/fleetdm/fleet/issues/36465
Closes: https://github.com/fleetdm/fleet/issues/36467
Related to: https://github.com/fleetdm/confidential/issues/14254

Changes:
- Updated "Try it yourself" links to go to the `/try` page (Which
redirects users who aren't logged in to the /login page)
- Removed the `<signup-modal>` and `<signup-button>` components
- Removed the route for the /register page, and added a redirect to go
to /login
- Updated the /login page to have the signup form, and to match the
latest wireframes
- Updated the /try page to have a fake Fleet UI as a background
(previously an image)
2026-02-10 12:32:49 -06:00
dc4e50ef7b Update Fleet-maintained apps (#39623)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
Co-authored-by: Allen Houchins <allenhouchins@mac.com>
2026-02-10 12:30:00 -06:00
3d96b1a879 Update Fleet-maintained apps (#39602)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-02-10 11:47:14 -06:00
Mike McNeil 0993f2eea7 Revert "Website: Fix image: Update fleet-gitops-workflow-471x337@2x.png" (#39621)
Reverts fleetdm/fleet#39620

Was alerady fixed, just had old image in cloudflare cache
2026-02-10 11:18:02 -06:00
Mike McNeil 20c59a5e4f Website: Fix image: Update fleet-gitops-workflow-471x337@2x.png (#39620) 2026-02-10 11:11:58 -06:00
Zach WassermanandLucas Manuel Rodriguez 8b3ce29e9c Add containerd_mounts table for fleetd (#39276)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38393 

# 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/`,
`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.

## Testing

- [x] QA'd all new/changed functionality manually

## fleetd/orbit/Fleet Desktop

- [x] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows (Linux only)

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2026-02-10 13:57:13 -03:00
Isabell Reedy 74dfed6899 Handbook: Social media (#39607) 2026-02-10 10:46:49 -06:00
George Karr d105fc5929 Adding changes for Fleet v4.80.1 (#39486) 2026-02-10 09:32:21 -06:00
Brock Walters 776f2b27b5 Update GitOps training signup link (#39428) 2026-02-10 10:02:56 -05:00
Lucas Manuel Rodriguez 2f59766c1e Ignore gdm-greeter user (to support GNOME 49 sessions in Fedora) (#39598)
Resolves #37447.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Testing

- [X] QA'd all new/changed functionality manually

## fleetd/orbit/Fleet Desktop

- [X] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [X] Verified that fleetd runs on Linux
- [X] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2026-02-10 11:30:24 -03:00
Magnus Jensen 5bff6e25f0 Correct err check endpoint (#39559)
QA error, wrong error check and upping script and profile size just a
bit, to account for b64 encoding
2026-02-10 09:23:27 -05:00
Sam Pfluger 9d9c44d107 Update 📜 Fleet Privacy Policy.md (#39595) 2026-02-10 05:45:03 -05:00
Ian Littman 3203e8aa5b Remove deprecated bulk operations dashboard tool (#39588)
We're no longer maintaining the tool, it's not tested against current
versions of Fleet, and customer use has been replaced with other
tooling. Removing this so it doesn't keep collecting npm
vulnerabilities.
2026-02-09 22:34:55 -06:00
Allen Houchins 00fd57a498 Update Fleet Desktop's SHA256 (#39592) 2026-02-09 21:44:32 -06:00