Commit graph

17261 commits

Author SHA1 Message Date
RachelElysia
05037f9ea0
Fleet Docs: Update /hosts/:id/software API docs to reflect available params (#30123)
## Description
- Copied verbatim from REST API docs for `GET /software` params
2025-06-25 17:44:50 -05:00
Juan Fernandez
b31d5f9bba
Misc feedback for new Windows doWipe cmd (#30252)
For #21979 

A couple of small items that came up during the first round of QA
2025-06-25 18:38:40 -04:00
Eric
102c4132dc
Website: Update policies (#30324)
Related to: https://github.com/fleetdm/fleet/issues/30323

Changes:
- Updated the policy applied to the
`unsubscribe-from-all-marketing-emails` action.
2025-06-25 16:55:56 -05:00
Ian Littman
20376ec8ab
Tweak CVE feed build to avoid false positives in CVE-2024-54559 (#30293)
Fixes #28207.

No changes file since this will go live once merged, and it affects the
vulns feed. Tests will fail for vulns on-branch since this requires a
vulns feed rebuild.

# 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] 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-06-25 16:25:26 -05:00
Irena Reedy
7c419e6832
redirect for Harry's article after changing category (#30319)
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-06-25 15:11:35 -05:00
Noah Talerman
aba1f6e9eb
Dogfood: Chrome & Firefox Fleet-maintained apps (#30312)
To help us reproduce [this
bug](https://github.com/fleetdm/fleet/issues/30239) using dogfood.

- @noahtalerman: Only added to "Workstations (canary)" for testing. Why
not use the Fleet-maintained apps in for the "Workstations" team?
2025-06-25 13:54:16 -05:00
Sarah Gillespie
bce10924d0
Disallow lock request for unenrolled macOS hosts (#30313) 2025-06-25 13:31:33 -05:00
Lucas Manuel Rodriguez
83961c0d02
Add VEX for CVE-2025-22874 and generate report (#30258)
We missed to add this when we upgraded Go to 1.24.4.
Report
https://github.com/fleetdm/fleet/actions/runs/15626203997/job/44020838145

How to test (with and without the new VEX file):
```
docker scout cves --only-fixed --vex-location=./security/vex/fleet --only-vex-affected --only-severity high,critical fleetdm/fleet:v4.69.0
```
2025-06-25 15:13:34 -03:00
jacobshandling
e74e30105b
UI: In Primo mode, enforce No team or All teams, depending on the page, to preserve premium functionality (#30291)
## #30198 

[Video
demo](https://drive.google.com/file/d/1RBk5QNQdQvXTHJveCNkIeMXj5hWFA5Ft/view?usp=sharing)

- Implement the following logic for `teamId` in the UI when in Primo
mode:
<img width="870" alt="Screenshot 2025-06-24 at 12 47 48 PM"
src="https://github.com/user-attachments/assets/8ae81c3f-223f-4dda-954d-c42c7008de45"
/>
- Above logic is enforced - if trying to change/add/remove `team_id`,
automatically pushed to appropriate team

- Fixes originally reported issue - user in Primo mode can access
installable software (on the hidden "No team" which is now enforced):
  - Software page on No team
    - Update header help text 

![ezgif-49ce1977ab6474](https://github.com/user-attachments/assets/0d011f94-7c90-4d42-92ec-135baafe7927)


- Handle UI edge cases the above surfaces:
  - Queries page on All teams (No team not supported):
<img width="1624" alt="Screenshot 2025-06-24 at 1 10 40 PM"
src="https://github.com/user-attachments/assets/84bb2ca0-b8e7-44e8-9bf5-9f8f243d5584"
/>

  - Policies page on No team:
<img width="1624" alt="Screenshot 2025-06-24 at 1 10 53 PM"
src="https://github.com/user-attachments/assets/144d745f-e9b0-4933-be45-2db4fe428cfe"
/>

- update `useTeamIdParam` hook's strip query params on change team logic
to optionally also consider the current team

**Important notes**
- Software page: Software automations are only accessible via All teams,
while Add software is only accessible on a team, including No team. In
lieu of specs around this, I decided to favor Add software functionality
over Software automations functionality, aka, push to "No team" on this
page. Enabling _both_ functionalities would be a very large ticket and
need to go through a proper drafting process, since Fleet doesn't
currently support both in any state.
- Policies page:
- "Other workflows" (tickets and webhooks) is available on All Teams and
specific teams, but not on No Team, so "Other workflows" is currently
unavailable in Primo mode
- If any of the Primo customers have created policies on All Teams
already, they won't be able to manage automations on them anymore. All
Teams policies can only have ticket/webhook workflows


- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-25 09:26:36 -07:00
Mike Thomas
b475365c6c
Update layout.ejs (#30309)
Added /meetups link
2025-06-25 10:03:04 -05:00
Noah Talerman
a00580d01d
Handbook: T-shirt sizes (#30244)
- @noahtalerman: This way, when T-shirt sizes are used at Fleet, all
contributors understand the rough level-of-effort
2025-06-25 09:58:06 -04:00
Martin Angers
4994571c22
DCLK: add mechanism to verify user-scoped profiles (#30110) 2025-06-25 09:51:43 -04:00
Noah Talerman
a51f074ecf
Software page: Hide "Available for install / Self-service" dropdown for "All teams" and Fleet Free (#30274)
---------

Co-authored-by: RachelElysia <rachel.elysia.perkins@gmail.com>
2025-06-25 09:24:36 -04:00
Nathanael Holliday
b5d58353e7
Update leadership.md (#30307)
Equity approval language

Reference:
https://github.com/orgs/fleetdm/projects/65/views/1?filterQuery=hollidayn&pane=issue&itemId=116695138&issue=fleetdm%7Cconfidential%7C11105

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-06-24 21:59:40 -05:00
Sam Pfluger
93e3eab7e7
Hiring process improvements (#30303) 2025-06-24 21:11:17 -05:00
github-actions[bot]
e86e096071
Fleet UI: Update osquery version options (#30299)
Automated update of MIN_OSQUERY_VERSION_OPTIONS with any new osquery
release. (Note: This automatic update is the solution to issue #21431)

Co-authored-by: RachelElysia <RachelElysia@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-06-24 20:41:03 -05:00
Ian Littman
72b5dfc13b
Fix generate-gitops test (#30305) 2025-06-24 20:39:59 -05:00
Mike Thomas
de2e7930f8
Update features-loop.mp4 (#30302)
Updated animated loop to include a better status bar graphic.

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-06-25 10:35:58 +09:00
Eric
961e3e339a
Website: Update supported article categories (#30304)
Changes:

- Added `articles` to the list of supported article categories in the
build-static-content script.
- Added a route for articles in the articles category.
- Updated the `view-basic-article` action to support the new `articles`
category.
2025-06-24 20:19:57 -05:00
Allen Houchins
02f94480c3
Update 1Password macOS version number to 8.10.82 (#30283)
Co-authored-by: allenhouchins <allen@fleetdm.com>
2025-06-24 20:07:35 -05:00
Mike Thomas
8ce988b511
Homepage comparison table patch (#30301)
Reordered comparisons.
2025-06-25 09:48:12 +09:00
Jahziel Villasana-Espinoza
dbe020e19f
make it so the vpp token can't expire (#30298)
> No issue, fixes broken test

# 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
2025-06-24 20:20:13 -04:00
Mike Thomas
3aadb0f0be
articles-patch (#30297)
Updated article categories
2025-06-25 08:56:14 +09:00
Mike Thomas
7a3c570404
Pruning articles (#30296) 2025-06-25 08:40:19 +09:00
Mike Thomas
b01171d6f6
Update one-agent-fewer-tools-fewer-gaps.md (#30294) 2025-06-25 08:35:11 +09:00
Dhruv Trivedi
f4d6e35409
fix: Include Software URLs in fleet generate-gitops when software has URL (#30177)
fixes: https://github.com/fleetdm/fleet/issues/29617
# Checklist for submitter

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


I implemented support for exporting the url field in fleetctl
generate-gitops when it's available in the software installer metadata.
During testing, I found that although some Fleet-maintained apps (like
Brave and Cloudflare WARP) show URLs in the UI, those URLs are not
persisted to the database—hence they don’t appear in the generated YAML
unless added manually. I confirmed the url field is supported in the
database and properly handled in the insertion logic. The version field
does get populated when the software is installed on a host. This patch
completes the GitOps export part, but the root issue may lie in the
ingestion flow of the url.


![image](https://github.com/user-attachments/assets/422c04cc-26f8-4607-83e0-b1772b8d81cf)

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-06-24 16:42:59 -05:00
Noah Talerman
27381b9ecd
Update custom.js (#30290) 2025-06-24 16:22:38 -04:00
Noah Talerman
628236d162
Fleet-maintained app testing (#30289) 2025-06-24 15:34:41 -04:00
Noah Talerman
21e30cb0ea
Fleet-maintained apps: Update testing instructions (#30256) 2025-06-24 15:32:47 -04:00
Noah Talerman
6b1a98d5cb
Fleet UI redirect (#30287)
For the following user story:
- #30095

New section in the docs is part of this PR here:
https://github.com/fleetdm/fleet/pull/30254/files#diff-b71104232d8fbaaf4bd537065533cbf39ec5f9bf028ec1d8083346953ed5178dR450
2025-06-24 15:20:29 -04:00
Jordan Montgomery
d225d5e297
Update windows CSP verification logic (#30203)
Fixes #28499 

# 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/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] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-06-24 15:18:38 -04:00
Mike Thomas
65526f28bd
Update device-management.ejs (#30269)
closes https://github.com/fleetdm/confidential/issues/11072

I've reworded each bullet to emphasize speed. Let me know if I've
overegged it or if my reordering of the points has negatively affected
the meaning. For example, does "real-time confirmation of patch and
config changes" ring true instead of "Auto-verify patches and
settings..."
2025-06-24 13:46:54 -05:00
RachelElysia
ef6b49dc6e
Fleet API: Return 0 hosts instead of 404 when filtering hosts by team x software non existent on that team (#30249)
## Issue
Closes #26258 

## Description
Returns 0 hosts instead of some random VPP error when software_status is
valid but software_title_id doesn't exist on that team

## Screenshot of fix
<img width="1186" alt="Screenshot 2025-06-23 at 2 04 52 PM"
src="https://github.com/user-attachments/assets/577cc05a-c8e4-4aaf-85c4-38ab9403018b"
/>


## Screenshot of before

<img width="1176" alt="Screenshot 2025-06-23 at 1 50 40 PM"
src="https://github.com/user-attachments/assets/cb0b6ccd-79dd-4309-ae5d-c1c1b938292d"
/>

# 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

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-06-24 11:32:37 -04:00
Ian Littman
e71d00c688
Use dedicated, string-interpolated queries for single-host MDM status checks to reduce prepared statement usage (#30264)
For #30199 

The hottest path for these changes is the Orbit config getter, which
runs every 30 seconds for each host. That means that for 10k enrolled
hosts this will save ~333 prepares per second...which adds up.

There are a few other places that use this query, but not on as hot of a
path.

Safe despite not using prepared statements because you can't SQL-inject
a number. Existing tests cover this path well, hence no new ones.

Needs manual MDM testing.

# 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/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)
2025-06-24 10:12:33 -05:00
Adam Baali
9fb42cad08
Add Adam Baali to Customer Success team section (#30270) 2025-06-24 08:34:29 -05:00
Mike Thomas
5817e03351
Update device-management.ejs (#30267)
- Removed redundant quote marks on hero testimonial
2025-06-24 13:36:11 +09:00
Ian Littman
2e58aabeee
Avoid unnecessary prepared statements in "select config from team" uncached queries (#30206)
For #30199. This is one of a few approaches to mitigate the issue the
customer is seeing.

This is SQLi-safe because we're dealing with an unsigned int parameter,
sprintf'd %d. Existing tests fully cover this path.

# Checklist for submitter

<!-- 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/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)
- [ ] Manual QA for all new/changed functionality
2025-06-23 21:09:55 -05:00
Sam Pfluger
bc62898091
Noah covers product manager of software (#30262) 2025-06-23 17:37:49 -05:00
Harrison Ravazzolo
98d59b93fb
Add new article, fix path (#30246)
Co-authored-by: Irena Reedy <205901210+irenareedy@users.noreply.github.com>
2025-06-23 15:54:57 -04:00
Noah Talerman
30e9f85231
Update 1password.yml (#30251) 2025-06-23 14:28:51 -05:00
Noah Talerman
398e2776ef
New role: Product Designer (#30160)
Row 121 in
[Fleeties](https://docs.google.com/spreadsheets/d/1OSLn-ZCbGSjPusHPiR5dwQhheH1K8-xqyZdsOe9y7qc/edit?gid=0#gid=0).
2025-06-23 13:18:50 -05:00
Noah Talerman
d51504dd59
Update custom.js (#30233)
Add @noahtalerman as reviewer to Fleet-maintained app changes
2025-06-23 13:12:30 -05:00
Eric
5402825319
Website: update homepage comparison table (#30245)
Changes:
- Commented out the defender comparison table option I had mistakenly
merged.
2025-06-23 12:23:41 -05:00
Juan Fernandez
47992b4fce
Handle null HostID on calendar webhook endpoint (#30130)
For 10744

When making a POST request to the calendar/webhook endpoint, do not error out if host record does not exists.
2025-06-23 13:10:10 -04:00
Juan Fernandez
e7519eef48
29762: Fixed bug with run script modal on FreeTier. (#30138)
For #29762 

When running on FreeTier do not apply teamId criteria on end-point used by the Run Script modal.
2025-06-23 13:03:22 -04:00
Juan Fernandez
81abc49786
28224: Added missing property to hosts/identifier/:id endpoint (#30097)
For #28224 

Added missing team_name property on /api/v1/fleet/hosts/identifier/:id endpoint.
2025-06-23 13:01:33 -04:00
jacobshandling
0c139c98e7
UI: Hide teams dropdown on software details pages in Primo mode (#30218)
## #30200 


![ezgif-73f99c5eaa3368](https://github.com/user-attachments/assets/77e10692-04c8-4021-b9dc-8bd4fcd90726)


- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-23 09:55:36 -07:00
Eric
aba9bec260
Wesbite: Update homepage ticker styles (#30241)
Closes: https://github.com/fleetdm/fleet/issues/30235

Changes:
- Updated the max height of the bottom ticker on the homepage to prevent
it from being cut off vertically on smaller screens.
2025-06-23 10:54:36 -05:00
Mike Thomas
09c1086dae
Add-defender-comparison (#30227)
Added comparison for Defender.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-06-23 10:40:59 -05:00
Sarah Gillespie
15b60c1f41
Delete iOS host refetch commands on MDM re-enrollment (#30158) 2025-06-23 10:14:00 -05:00