Commit Graph
20896 Commits
Author SHA1 Message Date
Noah Talerman 06e15c91c8 End users are navigated back to the /enroll page when Android host is enrolled (work profile added) (#38572)
- Let users know what to do when they're done
- For the following bug:
  - #36334
2026-01-23 10:55:27 -05:00
Marko LisicaandMike Thomas 0b3edcdaa6 [Guide] Set custom display name for software (#37696)
Related:

- #31354

In addition to the changes regarding the display name story, I updated
the entire guide because the software details UI has changed slightly. I
also made the instructions more concise.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-23 16:37:33 +01:00
Sam Pfluger 9803e5d54d Update event strategy process in marketing handbook (#38676)
Revises the event strategy section to clarify roles, update the process
for settling events, and specify new procedures for event approval,
communication, and documentation. The Content Specialist is now the
project manager for events, and the process includes more detailed steps
for event planning, communication, and closing unprioritized event
issues.
2026-01-23 09:31:47 -06:00
Isabell Reedy c19895b6b4 Update open-positions.yml (#38695) 2026-01-23 15:10:48 +00:00
Noah Talerman 64661ba32d OS updates guide: Clarify newly enrolled v. already enrolled (#38551)
- Also, list macOS first.
- Context:
https://fleetdm.slack.com/archives/C02A8BRABB5/p1768946076776459
2026-01-23 10:04:40 -05:00
Noah Talerman 0957779cc2 Update best practice teams (#38544) 2026-01-23 10:04:21 -05:00
Noah Talerman 842258eebf Automations guide: Explain how often policies run and in what order (#38418)
Also, add links to other guides
2026-01-23 10:02:44 -05:00
Noah Talerman 1b6e638356 Update policy automation definitions and triggers (#38325)
Clarified the definition of 'newly failing' policies and updated
automation triggering details.
2026-01-23 10:02:09 -05:00
Nico 2a23fe1724 Fix: GLIBC version incompatibility causes orbit agent failure on Ubuntu 20.04 during fleet-desktop update (#38648)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35413 

Applied the same fix as in
https://github.com/fleetdm/fleet/pull/29186/files:
- Added musl-tools to the container image. This provides musl-gcc, a
compiler that links against musl libc instead of glibc. We use it for
static linking as explained below.
- Added static linking flags (CGO_ENABLED=1 CC=musl-gcc -linkmode
external -extldflags "-static"). This produces a self-contained binary
with all C library code embedded, eliminating runtime dependencies on
the host system's glibc version.

# 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.

## Testing

- [ ] 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

Steps:

- Started TUF server for the first time. Generated a Linux x86_64 image.

```
SYSTEMS="linux" \                                      
DEB_FLEET_URL=https://nicofleet.ngrok.io \
DEB_TUF_URL=http://nicotuf.ngrok.io \
GENERATE_DEB=1 \
ENROLL_SECRET=tm2CHBEF1I5BVuM1+4hzRRtpC5ZYV8vb \
FLEET_DESKTOP=1 \
DEBUG=1 \
./tools/tuf/test/main.sh
```

- Installed `fleet-osquery_26.1.46030_amd64.deb` generated by the
previous command on a Kubuntu 20.04 x86_64 VM.
- Ran `sudo journalctl -u orbit` to debug logs and verified that the
GLIBC incompatibility error was raised:

```
tammi 22 15:36:53 nicolas-Standard-PC-i440FX-PIIX-1996 sudo[125623]: pam_unix(sudo:session): session opened for user nicolas by (uid=0)

tammi 22 15:36:53 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[125624]: /opt/orbit/bin/desktop/linux/stable/fleet-desktop/fleet-desktop: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/orbit/bin/desktop/linux/stable/fleet-desktop/fleet-desktop)

tammi 22 15:36:53 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[125624]: /opt/orbit/bin/desktop/linux/stable/fleet-desktop/fleet-desktop: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/orbit/bin/desktop/linux/stable/fleet-desktop/fleet-desktop)

tammi 22 15:36:53 nicolas-Standard-PC-i440FX-PIIX-1996 sudo[125623]: pam_unix(sudo:session): session closed for user nicolas

tammi 22 15:37:08 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[125199]: 2026-01-22T15:37:08+02:00 INF killing any pre-existing fleet-desktop instances

tammi 22 15:37:09 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[125199]: 2026-01-22T15:37:09+02:00 INF attempting to get user session type and display id=1000 user=nicolas

tammi 22 15:37:09 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[125199]: 2026-01-22T15:37:09+02:00 ERR failed to get X11 display, using default :0 error="display not found on who output"
```

- Built a new version of the agent after applying the fixes on this PR
and pushed it to the TUF server:

```
# 1. Hardcode orbit to a higher version
export ORBIT_VERSION=26.1.46099

#2. Generate new package
FLEET_DESKTOP_VERSION=$ORBIT_VERSION make desktop-linux

#3. Update to TUF server
./tools/tuf/test/push_target.sh linux desktop desktop.tar.gz $ORBIT_VERSION
```

<img width="396" height="179" alt="Screenshot 2026-01-22 at 5 18 25 PM"
src="https://github.com/user-attachments/assets/56182580-1d54-4945-af03-98762e7795e9"
/>


- In the VM, verified that an update for fleet desktop was detected by
running `sudo journalctl -u orbit -g "update detected"`:

```
tammi 22 20:33:32 nicolas-Standard-PC-i440FX-PIIX-1996 orbit[4114]: 2026-01-22T20:33:32+02:00 INF update detected target=desktop
```

- Verified the new version is shown both on the desktop icon and the
Fleet UI:

<img width="1373" height="248" alt="Screenshot 2026-01-22 at 5 22 17 PM"
src="https://github.com/user-attachments/assets/9fac73ac-a3a6-49ed-82c7-261abec43798"
/>

<img width="1420" height="496" alt="Screenshot 2026-01-22 at 5 22 46 PM"
src="https://github.com/user-attachments/assets/55321108-9233-4799-b5e5-0713172c0138"
/>


## fleetd/orbit/Fleet Desktop

- [ ] Verified compatibility 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))
- [ ] 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
- [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-01-23 12:02:03 -03:00
Noah Talerman 35caa1a2dc Product design rituals: Understanding our competitor(s) (#38692) 2026-01-23 09:45:11 -05:00
Victor LyuboslavskyandIan Littman 7deade8057 Activity bounded context: /api/latest/fleet/activities (2 of 2) (#38478)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37806 

Removed `ds.ListActivities` from the legacy datastore and updated
code/tests to use the new activity bounded context instead.

The changes to `cron.go` and most changes to `mysql/activities_test.go`
will eventually be migrated to the activity bounded context. The current
changes are an intermediate step.

The issues tracked by https://github.com/fleetdm/fleet/issues/38234 will
be addressed in additional/parallel PRs shortly.

# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
  - Done in the 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 activity retrieval from direct datastore calls to a
service-based architecture for improved maintainability and consistency.
* Enhanced system context handling for background automation tasks to
ensure proper authorization during scheduled operations.
* Streamlined activity recording for automated processes with dedicated
system identity tracking.

* **Tests**
* Updated test infrastructure with new helpers for activity service
integration across test suites.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-01-23 07:42:09 -06:00
Gabriel Hernandez 611374f367 fix the long button in the bootstrap advanced options UI (#38567)
**Related issue:** Resolves #37003

This fixes the long button in the bootstrap package advanced options
section.

- [x] Added/updated automated tests
2026-01-23 13:30:53 +00:00
3036dd1211 Add Marketing Campaign Manager position (#38653)
Added a new job listing for a Marketing Campaign Manager, detailing
responsibilities and required experience.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
Co-authored-by: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2026-01-23 12:50:49 +00:00
Mike ThomasandNoah Talerman e26a22a23e Update fleet-logo.svg (#38362)
- Updated the https://fleetdm.com/logos to include the Fleet logo dots
(with built-in padding).
- Updated
https://fleetdm.com/guides/okta-conditional-access-integration#step-5-add-fleet-idp-authenticator-in-okta
to reference fleetdm.com/logos as the single source of truth for logo
downloads.

Related issue: https://github.com/fleetdm/fleet/issues/37652

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-01-23 18:29:25 +09:00
Noah Talerman e2500002ed macOS setup experience: Clarify behavior (#38379)
- macOS setup: "may" isn't that helpful. It doesn't make the user feel
confident on what they should document internally.
2026-01-23 17:47:36 +09:00
Sam Pfluger 40bd4ccc45 Updating confidential maintainers (#38668)
Removed 'sampfluger88' from '.github/workflows' code owners and added
code owner assignments for various issue templates, specifying
responsible users for each template.
2026-01-22 21:58:18 -06:00
Robert Fairburn ffe6df25be Signoz action fixes (#38656) 2026-01-22 19:10:44 -06:00
1a382a5b36 Update Fleet-maintained apps (#38672)
Automated ingestion of latest Fleet-maintained app data.

---------

Co-authored-by: harrisonravazzolo <38767391+harrisonravazzolo@users.noreply.github.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-01-22 18:01:11 -06:00
Irena ReedyandNoah Talerman 9e56f6e143 Update fleet-4.79.0.md (#38642)
Embedded video

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2026-01-22 18:25:44 -05:00
Brock WaltersandMike Thomas 027fc8dc56 Update article on enterprise Linux for 2026 (#38617)
Modified sections & cleaned up grammar

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2026-01-23 08:16:37 +09:00
Harrison RavazzoloandAllen Houchins ef69d41afb FMA: Proxifier - macOS (#38613)
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2026-01-22 15:08:55 -08:00
Sam Pfluger 0c410de096 Clarify event proposal submission process (#38671)
Updated instructions to specify that the marketing team will process
event requests within 72 business hours after all necessary information
has been submitted, improving clarity for requesters.
2026-01-22 16:59:22 -06:00
RachelElysia 5cf7d07557 Fleet UI: Update icon buttons for consistency (#38639) 2026-01-22 17:21:02 -05:00
RachelElysia 8c544e2537 Fleet UI: Fix linebreak nit (#38644) 2026-01-22 17:18:16 -05:00
Sam Pfluger 94b33a6da5 Update README with CEO introduction process (#38660)
Added instructions for introducing Fleet's CEO to an account.

FYI @SFriendLee RE SLA to send connect requests
2026-01-22 15:26:23 -06:00
Noah Talerman 7390a6d3a9 Product maturity assessment: Fleet is complete for geolocation (#38651) 2026-01-22 15:02:04 -06:00
Ian Littman 88f8ade624 Add step-based and intra-step framework for migration progress (#38556)
Resolves #35916.

For example:

```go
	return withSteps([]migrationStep{
		basicMigrationStep("SELECT NOW()", "couldn't select from hosts"),
		incrementalMigrationStep(func(tx *sql.Tx) (uint64, error) {
			return 25, nil
		}, func(tx *sql.Tx, increment incrementCountFn) error {
			for range 25 {
				time.Sleep(time.Second)
				increment()
			}
			return nil
		}),
	}, tx)
```

gets you

```
2026/01/20 17:16:30 [2026-01-20] Test Migration
  Step 1 of 2
  Step 2 of 2
    16% complete
    36% complete
    56% complete
    76% complete
    96% complete
    100% complete
Migrations completed.
```

No need to use this on short migrations, but we can throw this wherever
on longer migrations, and progress display and upgdate frequency can be
adjusted independent of the migrations themselves.

# Checklist for submitter

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

- [ ] 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] QA'd all new/changed functionality manually
2026-01-22 15:00:21 -06:00
Victor Lyuboslavsky 774595f32e Porting fix from micromdm/scep (#38638)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38579

Porting this fix from upstream:
https://github.com/micromdm/scep/commit/a8623d6b71c383ed448ededb834401a014961e61

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

## Testing

- [x] Added/updated automated tests
- [x] QA'd all new/changed functionality manually
  - QA'd the change manually using micromdm/scep
2026-01-22 13:34:53 -06:00
Robert Fairburn e0631aff76 Dogfood signoz (#38569) 2026-01-22 12:33:27 -06:00
RachelElysia e154caf2cb Remove host's VPP install rows when removing host (#38344) 2026-01-22 13:04:11 -05:00
Eric fd5d77a861 Website: Update query generator (#38643)
Changes:
- Fixed a bug in the query generator that prevented Linux and ChromeOS
queries from being displayed to users automatically.
2026-01-22 11:55:22 -06:00
Eric 16e8d48396 Website: update deliver-contact-form-message (#38640)
Changes:
- Updated the deliver-contact-form-message action to attempt to
create/update CRM records before it sends a contact form email.
2026-01-22 11:48:48 -06:00
George Karr 2d03130c46 Adding logic that follows expectation with bugs and sub-tasks to milestone close workflow (#38552) 2026-01-22 11:19:08 -06:00
d0cfba42be Update Fleet-maintained apps (#38633)
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-01-22 10:33:02 -06:00
RachelElysia 36ef5d35a8 Fleet UI: Fixed hover color of links in error flash messages (#38634) 2026-01-22 11:25:21 -05:00
dependabot[bot] 7ec6096bc1 Bump lodash from 4.17.21 to 4.17.23 (#38614) 2026-01-22 10:14:22 -06:00
Noah Talerman ecf2d3ab7e Revise feature prioritization criteria (#38327)
Updated criteria for prioritizing new features to include labels for UX
improvements and product maturity goals.

DONE: @noahtalerman and @allenhouchins update [product maturity
assessment](https://fleetdm.com/handbook/company/product-maturity-assessment)
for 2026.
2026-01-22 10:08:00 -05:00
Brock Walters 3792b8bf83 Add Marketing Assets section to README (#38618)
Added a section for Marketing Assets to track created assets.
@Sampfluger88 Created per request from @akuthiala - thanks.
2026-01-21 22:16:18 -06:00
Sam Pfluger 794ed9b735 Add instructions for sending weekly KPI update (#38584)
Added a new section detailing the process for the Apprentice to send the
weekly KPI update in Slack, including steps for checking the KPI sheet,
copying the update, and scheduling the message.
2026-01-22 00:09:14 +00:00
Noah Talerman b4db8d5cf5 Product design handbook: Clarify guide updates during drafting (#38588)
Context:
https://fleetdm.slack.com/archives/C084F4MKYSJ/p1768936713202219
2026-01-21 17:58:01 -05:00
Eric 9126c66687 Website: Fix syncing state on "Talk to us" form (#38612)
Changes:
- Updated the "Talk to us" form to end the syncing state on the submit
button when the `deliver-talk-to-us-submission` action returns an error
response.
2026-01-21 16:50:18 -06:00
Noah Talerman 30674b6094 Fleet server configuration: Remove apple_scep_signer_allow_renewal_days (#38538)
- This config doesn't exist
2026-01-21 17:37:15 -05:00
fleet-releaseandmostlikelee f75e7d286a Update Fleet-maintained apps (#38605)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-01-21 16:21:38 -06:00
Martin Angers 462a2e39e5 Bugfix: apply a special-case for Xcode VPP app verification (#38539)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #37290 

# 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] 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

Tested and all but the very last `InstalledApplicationList` MDM command
was sent with `ManagedOnly=false` and the VPP install transitioned to
`Verified`. It correclty sent the ManagedOnly=false right after it
received a ManagedOnly=true verification result without the Xcode
reported as "Installing".

Multiple QA passes here with screenshots (this and subsequent comments):
https://github.com/fleetdm/fleet/issues/37290#issuecomment-3778270822
2026-01-21 17:16:13 -05:00
Eric 65f313d153 Website: update clay webhook inputs and historical event helper (#38601)
Closes: https://github.com/fleetdm/fleet/issues/38500

Changes:
- Added support for a `relatedCampaign` input to the receive-from-clay
webhook.
- Updated the `create-historical-event` helper to set `relatedCampaign`
on new historical event records (if provided)
2026-01-21 16:11:57 -06:00
Ian Littman 2250d30a11 Bump dependencies to fix dep vulns in fleetd-chrome (#38465)
Lock file wasn't up to date. Ran `npm audit fix` and that dropped
packages that had already been removed from package.json (and updated
deps).
2026-01-21 16:10:57 -06:00
Jahziel Villasana-Espinoza b39a403d29 move deletion into block that only executes when the package itself changes (#38595)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38452 

Fixes the issue by moving a deletion of software display names into a
code block that will only execute IFF the software package _itself_ has
changed (e.g. a new package is uploaded, or the installer is deleted).
This keeps changes to important metadata such as the related scripts
from deleting the display name.

# 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] QA'd all new/changed functionality manually
2026-01-21 16:59:40 -05:00
Lucas Manuel Rodriguez 3927fb60f0 Fix TestVPPAppScheduledUpdates (#38603)
Fixing `TestVPPAppScheduledUpdates` on `main` (broken by the addition of
version checking when verifying VPP installs/updates).

Fix is about setting the VPP proxy versions data inside the sub-tests vs
only once in the main test (because each sub-test modifies the latest
version).
2026-01-21 16:34:03 -05:00
melpikeandRachael Shaw 2ecec2b0aa Clarify instructions for API-only user creation (#38387)
Rephrase instructions for creating API-only users for clarity.

<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #35696

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2026-01-21 15:19:06 -06:00
Steven Palmesano 897787b1ac Add link to our issue for SCIM support (#38460)
Re: https://fleetdm.slack.com/archives/C07MYE3KKPX/p1768331054297279
2026-01-21 15:17:33 -06:00