Commit graph

15365 commits

Author SHA1 Message Date
jacobshandling
2ab83df445
UI - remove space (#25954)
## Remove extra space

<img width="374" alt="Screenshot 2025-01-31 at 3 15 57 PM"
src="https://github.com/user-attachments/assets/fc157d30-1f43-4d96-8804-58240bcc91a1"
/>

- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-31 15:33:10 -08:00
Luke Heath
e9b55e6ef9
Revert goreleaser test changes (#25949) 2025-01-31 15:03:56 -06:00
Noah Talerman
0725e2a4d4
Handbook customer success responsibility: feedback on requests (#25936)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-01-31 14:52:59 -06:00
Eric
e41a952203
Website: compress images in the website/assets/images/articles folder (part 5) (#25950)
Related to: #25934

Changes:
- Compressed 16 images in the `website/assets/images/articles` folder
2025-01-31 14:37:15 -06:00
Eric
49d49c20c5
Website: compress images in website/assets/images/articles folder (part 5) (#25947)
Related to: #25934

Changes:
- Compressed 38 images in the `website/assets/images/articles` folder
2025-01-31 14:21:26 -06:00
Marko Lisica
4e99afff3a
Docs: update OS settings status explanation (#25782)
Adding additional information to the guide and
improving language to match what we're using in the product (instead of
"installed configuration profiles" -> "applied OS settings").
2025-01-31 15:12:09 -05:00
Luke Heath
3d3eb5cba8
Temporarily comment out goreleaser tag prefix (#25913) 2025-01-31 14:02:49 -06:00
Eric
d9a250ddec
Website: Compress images in the website/assets/images/articles folder (part 4) (#25942)
Related to: #25934

Changes:
- Compressed 99 images in the `website/assets/images/articles` folder.
2025-01-31 13:27:35 -06:00
Lucas Manuel Rodriguez
1b03714dff
Added support for event format on query reports (#25876)
For #23465.

- [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] 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-01-31 16:26:24 -03:00
Eric
5ab8bf7458
Website: compress images in website/assets/images/article folder (part 3) (#25941)
Related to: https://github.com/fleetdm/fleet/issues/25934

Changes:
- Compressed 99 images in the website/assets/images/articles folder.
2025-01-31 13:11:25 -06:00
Katheryn Satterlee
970b783eb6
Update secrets-in-scripts-and-configuration-profiles.md (#25783)
Added comments to separate env variables for use by GitOps vs secret
variables to upload to Fleet

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

Docs-only change
2025-01-31 12:58:52 -06:00
Eric
fe26db8b8d
Website: Compress images in website/assets/images/articles folder (part 2) (#25937)
Related to: #25934

Changes:
- Compressed 99 images in the `website/assets/images/articles` folder.
2025-01-31 12:43:17 -06:00
jacobshandling
459b725667
UI - Update name (#25873)
## QOL Improvement

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-31 10:37:56 -08:00
jacobshandling
fa7a6c810f
UI - Replace "Include Fleet desktop" with host type radio selection buttons when adding Windows or Linux hosts. (#25914)
## For #25306 


![ezgif-548801a08fef2](https://github.com/user-attachments/assets/e91c7c18-50e8-4a69-aad8-6c97ebc59bce)


- [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-01-31 10:37:15 -08:00
jacobshandling
93e54381fe
UI - Update default UseQuery retry (#25919)
## Discussed at @fleetdm/frontend sync

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-31 10:36:59 -08:00
Eric
beb6629b05
Website: Compress images in website/assets/images/articles folder (part 1) (#25935)
Related to: https://github.com/fleetdm/fleet/issues/25934


Changes:
- Compressed 99 images in the /images/articles to reduce the slug size

> Note: I'm doing these PRs in batches of 99 files at a time because the
GH bot won't auto-approve PRs that change more than 100 files.
2025-01-31 12:26:21 -06:00
Dale Ribeiro
f2c58dc4bf
Entra platform sso guide (#25908)
# 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. -->

- [ ] 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.
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] Added/updated automated tests
- [ ] 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)
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).

---------

Co-authored-by: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
2025-01-31 12:59:59 -05:00
Eric
aff93bcf37
Website: Update homepage heading (#25916)
Closes: #25884

Changes:
- Updated the homepage hero to include an animated ticker that changes
the page's headline
- Updated the bottom heading (for agnostic, mdm, and eo-it views) to
have an animated ticker that changes the headline.
2025-01-31 11:15:47 -06:00
Allen Houchins
0a9bd62bfe
Multiple policy updates (#25927)
Added two new policies that check for available software updates. 
Renamed an existing policy to reflect accuracy. 
Resorted list of policies to group them by platform.
2025-01-31 11:02:16 -06:00
Konstantin Sykulev
d4559201f1
Fixed docker FMA errors (#25901)
For #25901

Need to close `com.electron.dockerdesktop`
Check if destination for symlink exists prior to symlinking

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

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-01-31 10:59:50 -06:00
Marko Lisica
d30b8fd96a
Update path example for install_software.package_path (#25895)
Related to #25867 

Paths are relative. Fixed in
[4.58.0](https://github.com/fleetdm/fleet/blob/main/CHANGELOG.md?plain=1#L308).

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-01-31 10:55:26 -06:00
Scott Gress
78a9fda03d
Use get label hosts endpoint on Edit Label page (#25833)
For #25555 

This PR fixes a failure when attempting to go to the "Edit Label" page
in the UI for manual label with a large # of hosts. Rather than making
one API request per host in the label, we instead use the "get hosts for
label" API to get them all at once.


https://github.com/user-attachments/assets/5144efa1-d466-4565-9c5b-5a1456fe0de1
2025-01-31 09:56:43 -06:00
Scott Gress
764bc1dd68
Update tooltip for query compatibility (#25892)
For #25553 

# 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/Committing-Changes.md#changes-files)
for more information.

Quick update to the "compatibility" tooltip to clarify that it applies
only to tables, and user should check the columns they use to ensure
full compatibility.

<img width="327" alt="image"
src="https://github.com/user-attachments/assets/50c69a40-26c3-4b1a-8792-72925e1f41bc"
/>
2025-01-31 09:56:12 -06:00
Scott Gress
1cd37ef966
Update NewLabel method to use more efficient update mechanism (#25777)
For #25555 

# 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] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)

This PR updates the `NewLabel` service to use the
`UpdateLabelMembershipByHostIDs` method previously added by
@jacobshandling rather than using `ApplyLabels`. The latter method has
performance issues when adding large numbers of hosts at once to a
manual label (see #25555) because it does an expensive lookup of host
names before transforming those into Fleet host IDs. The new code skips
the middleman and transforms host identifiers directly to Fleet host
IDs, and does so using a batching strategy to ensure the queries don't
get too large.

This PR does update `UpdateLabelMembershipByHostIDs` slightly to return
an updated Label object and host IDs array, as this is the expected
return value for `NewLabel`. I update the method's tests accordingly. I
don't think any new tests for `NewLabel` are needed as it should have
the same functionality and return values.

## Manual Testing

On the main branch, I launched my local MySQL with the thread stack size
set to the minimal allowed, and used the API to try and create a new
label with 5,000 hosts attached, and received a 422 response from the
server. Server logs showed:
```
level=error ts=2025-01-28T15:08:20.465401Z component=http user=scott@fleetdm.com method=POST 
uri=/api/latest/fleet/labels took=16.610292ms err="get hostnames by identifiers: Error 1436 (HY000): Thread stack 
overrun:  111136 bytes used of a 131072 byte stack, and 20000 bytes needed.  Use 'mysqld --thread_stack=#' to specify 
a bigger stack."
```

On this branch, I kept the same MySQL settings and tried my API request
again and it was successful:
<img width="776" alt="image"
src="https://github.com/user-attachments/assets/c4f0f52b-4d09-457b-8096-4dd3a747b1f4"
/>

## QA

The script I used to create a new manual label with lots of hosts is at:
https://gist.github.com/sgress454/84f12064c437da456c456e25c26d9069

To run it, first grab a bearer token from any API request by opening the
network tab, clicking a Fleet API request, and in the headers tab
scrolling down to Authorization:
<img width="892" alt="image"
src="https://github.com/user-attachments/assets/5680f3bf-8db8-469a-9f03-000b86622c04"
/>
(only take the part _after_ "Bearer")

Then download the script from that gist and in its folder run:
```
NODE_TLS_REJECT_UNAUTHORIZED=0 node ./add_hosts_to_label.js <the bearer token> "<a label name>"
```
e.g.
```
NODE_TLS_REJECT_UNAUTHORIZED=0 node ./add_hosts_to_label.js U3HpbdtadmJXGKYSB0U/PbwfOpHbBt7FpkWmGKKYolOO1moLNZA6XxP+QO5LVukvAotZ7d+JbNUEEhYHZtxoqg== "some test label"
```
This will invoke the API on https://localhost:8080 and try to add 5000
hosts a new label "some test label".

If you need to change the # of hosts or the url of the server, there are
additional arguments:
```
NODE_TLS_REJECT_UNAUTHORIZED=0 node ./add_hosts_to_label.js <the bearer token> "<a label name>" <number of hosts> <url>
```
e.g.
```
NODE_TLS_REJECT_UNAUTHORIZED=0 node ./add_hosts_to_label.js U3HpbdtadmJXGKYSB0U/PbwfOpHbBt7FpkWmGKKYolOO1moLNZA6XxP+QO5LVukvAotZ7d+JbNUEEhYHZtxoqg== "some test label" 10000 https://foo.bar
```
2025-01-31 09:19:36 -06:00
Gabriel Hernandez
49fe510ab0
fix for window profiles error message being cut off on OS settings modal (#25922)
relates to #24901

Fixes an issue where the error messages were being cut off for windows
profiles in the OS settings modal. Also added some tests for this
component.


![image](https://github.com/user-attachments/assets/16382a83-d92e-4c44-96ea-18416663700e)

- [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-01-31 14:40:24 +00:00
Gabriel Hernandez
eb9b1d615c
improve verified and verifying tooltips in profile status UI (#25886)
Fpr #24824

Updates the verified and verifying tooltips to be a bit more clear on
the Profile Status Aggregate component/

<!-- 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`.
- [x] Manual QA for all new/changed functionality
2025-01-31 12:24:31 +00:00
Allen Houchins
99ce080e3e
Implement policy checks and automated updates (#25829)
This is the initial pull request to implement keeping policy logic up to
date automatically. For example, when a new version of macOS releases,
admins don't need to manually update the policy logic for checking
version numbers.

This is currently blocked by this issue: fleetdm/confidential#9470
This is also to support the following issue and demonstrate to customers
a fully automated patch management strategy:
https://github.com/fleetdm/confidential/issues/8825

This current iteration contains a script/workflow that runs every 6
hours to check if a new version of macOS has been released and compares
the version string to what is currently defined in our policy. If it
detects a change, it will automatically create a new branch with the
updated version string and create a pull request to be reviewed before
merging.
2025-01-30 20:55:22 -06:00
Marko Lisica
6bdc87bb18
Add GitOps mode to product changes section (#25890)
Added new checkbox to "Product" section for GitOps mode.
2025-01-30 17:28:25 -05:00
Luke Heath
8d5154c015
Build fleetctl linux arm64 binary (#25905) 2025-01-30 15:39:53 -06:00
Luke Heath
de6a4c33f8
Add arm64 arch to linux fleetctl build (#23960) 2025-01-30 13:46:49 -06:00
Dante Catalfamo
5392cf6def
Make sure we correct agent options config on all endpoints (#25899)
#24038

Follow up to #25199

Bug caught by @xpkoala in QA, key corrections were only applying to team
agent configs, not global.
2025-01-30 14:32:58 -05:00
Rebecca Cowart
00c2f366e9
Update agent-configuration.md (#25855)
grammar fix
2025-01-30 13:30:18 -06:00
Lucas Manuel Rodriguez
e8b1fdb845
Add dogfood as dependency to test autopilot (#25852) 2025-01-30 16:25:46 -03:00
Dante Catalfamo
a4a9ba23ce
Revert "Revert "Add SystemDrive env var to osqueryd if present in orbit"" (#25243)
Reverts fleetdm/fleet#25239
2025-01-30 14:21:18 -05:00
Allen Houchins
212979d9fc
Multiple updates to queries (#25891)
Co-authored-by: Harrison Ravazzolo <38767391+harrisonravazzolo@users.noreply.github.com>
2025-01-30 13:00:43 -06:00
Dante Catalfamo
3c8033fa8e
Edible Scripts Backend (#25739)
#24602
2025-01-30 13:01:51 -05:00
Brock Walters
af475c7d6d
Update ioreg.yml (#25889)
Added example query.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-01-30 12:42:04 -05:00
Eric
4a8a054a8a
Website: Update syntax highlighting on osquery schema pages (#25894)
Closes: #25893


Changes:
- Updated the syntax highlighting on schema table pages to not try to
match column names that are less than two characters long. (This only
affects syntax highlighting on the `/tables/ioreg` page)
2025-01-30 11:36:25 -06:00
jacobshandling
8d9ca0eabf
Require a password when changing a user from SSO to password-based authentication (#25843)
## For #24754

- Backend:
- Return an error when a PATCH attempts to update a user's
authentication from SSO to password but doesn't include a password
  - Add checks to integration test.
- Frontend:
- Form error when attempting to switch a user who is currently
SSO-authed to password without a password
- Refactor upstream inherited errors to allow for disabling the form
submission button when errors are present
  - Other improvements to user form validation

**[UI
Demo](https://drive.google.com/file/d/1-BIzCpqu0zjYHf7zxiZL_7kVoE2sLwtx/view?usp=sharing)**
**[API
Demo](https://drive.google.com/file/d/19lQ7Pvfmq3MwEjHw0_r9IoxVuNaSNwGb/view?usp=sharing)**

<img width="994" alt="Screenshot 2025-01-28 at 3 38 11 PM"
src="https://github.com/user-attachments/assets/304f8def-2656-43f7-97e5-8be1fc679814"
/>

<img width="660" alt="Screenshot 2025-01-28 at 3 39 41 PM"
src="https://github.com/user-attachments/assets/77283520-b313-4743-96df-06c55e573496"
/>


- [x] Changes file added for user-visible changes in `changes/`
- [x] Added/updated automated tests
- [ ] 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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-30 09:32:11 -08:00
jacobshandling
616ed21a46
UI - Remove style overrides causing issue on host details > About (#25877)
## For #25878 

<img width="835" alt="Screenshot 2025-01-29 at 3 19 53 PM"
src="https://github.com/user-attachments/assets/58d6f793-3268-4392-a2e8-63e7fc828f6b"
/>


- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-30 09:26:25 -08:00
Scott Gress
379156e578
Use new exclude_fleet_maintained_apps flag (#25674)
for #25427 

This PR updates the calls to the "list software titles" API to include
the `exclude_fleet_maintained_apps=true` flag.

I tested this with https://github.com/fleetdm/fleet/pull/25649
successfully.
2025-01-30 11:25:33 -06:00
Scott Gress
8419b8e87a
Add "ExcludeFleetMaintainedApps" option to software titles query (#25649)
for #25427 

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

This PR adds a new `ExcludeFleetMaintainedApps` option to the
ListSoftwareTitles datastore method, and the equivalent
`exclude_fleet_maintained_apps` to the `GET
/api/v1/fleet/software/titles` API.

The new functionality works by doing a left join from the
`software_titles` table to the `fleet_library_apps` table by bundle
identifier, and excluding any rows that are present in the
`fleet_library_apps` table.

New tests verify that the filtering works as expected and doesn't
interfere with other functions of the method.
2025-01-30 11:22:12 -06:00
Scott Gress
f14664268a
Allow setting failing policy webhook for team via GitOps (#25715)
for #24471 

This PR adds missing support for updating a team's failing policy
webhook via GitOps:
* If `team_settings.webhook_settings.failing_policies_webhook` is not
set, the webhook will be disabled and all settings cleared.
* If `team_settings.webhook_settings.failing_policies_webhook` is set,
the webhook will be configured according to the specified settings.

A new test has been added to verify this functionality, and I tested it
locally using the `fleetctl gitops` command.

---------

Co-authored-by: Dante Catalfamo <43040593+dantecatalfamo@users.noreply.github.com>
2025-01-30 11:21:43 -06:00
Robert Fairburn
e3bdc4bcbb
Update loadtesting snapshot (#25495) 2025-01-30 10:38:46 -06:00
Noah Talerman
8b23ed5262
Kubernetes: remove outdated files and update guide (#25835)
We have two ways to deploy Fleet to Kubernetes. The non-Helm way is so
old it might not work to deploy Fleet

Changes:
- Remove files for deploying Fleet to Kubernetes the non-Helm way
- Update guide to remove mention of non-Helm (kubectl) way
- Remove note in handbook about files with `_` prefix because
`docs/Deploy/_Kubernetes` was the only one.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-01-30 08:49:58 -06:00
Ian Littman
86eddbbdb7
Add note on vulnerability software name matching to vulnerability processing docs (#25881)
Adding given current state and 2025-01-28 discussion on software
uniqueness and how it interacts with vulnerability processing.
2025-01-30 09:07:19 -05:00
Gabriel Hernandez
8bcdb82d55
update error message for same name profile (#25673)
For #17700

improve error message when a custom profile is edited or uploaded with
one that has the same name.

updates the error message for `POST /fleet/mdm/profiles` and in fleetctl
when using gitops


- [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-01-30 11:17:36 +00:00
Allen Houchins
e55c664b13
Update collect-operating-system-information.yml (#25879)
Removed unsupported `platform: Chrome`
2025-01-29 15:44:09 -08:00
Jahziel Villasana-Espinoza
91fe3e26a8
fix: remove temp dir if installer fails to download (#25392)
> For #25373

# 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] 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
- For Orbit and Fleet Desktop changes:
- [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.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2025-01-29 18:36:47 -05:00
George Karr
e0682ea869
Update CHANGELOG.md (#25854)
Correcting date
2025-01-29 16:50:21 -06:00