Commit Graph
15365 Commits
Author SHA1 Message Date
jacobshandlingandJacob Shandling 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 TalermanandSam Pfluger 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
jacobshandlingandJacob Shandling 459b725667 UI - Update name (#25873)
## QOL Improvement

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-31 10:37:56 -08:00
jacobshandlingandJacob Shandling 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
jacobshandlingandJacob Shandling 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 RibeiroandBrock Walters 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 SykulevandIan Littman 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 LisicaandNoah Talerman 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 HouchinsandHarrison Ravazzolo 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 WaltersandEric 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
jacobshandlingandJacob Shandling 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
jacobshandlingandJacob Shandling 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 GressandDante Catalfamo 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 TalermanandSam Pfluger 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