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 Baali
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-release
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-release
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-release
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 Ribeiro
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
Ian Littman
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]
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
fleet-release
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
fleet-release
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 Wasserman
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