Commit Graph
15384 Commits
Author SHA1 Message Date
Konstantin Sykulev 1b02fbb617 Added software_titles unique index idx_unique_sw_titles (#25794)
For #25235

This allows software with different names but the same bundle identifier
to be grouped under the same title. It also allows for software with the
same name but different bundle identifiers to be under two separate
titles.

- [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] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [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-02-03 13:23:21 -06:00
Victor Lyuboslavsky 49b0dcff2a Fix Go compile issue. (#25986)
The issue was due to 2 merges changing the same code.
2025-02-03 12:58:08 -06:00
StepSecurity Bot d109e72cbe [StepSecurity] ci: Harden GitHub Actions (#25985) 2025-02-03 12:25:18 -06:00
Ian Littman 8bb9acbc7f Mutate Windows Python versions to match what's in NVD (#25813)
Also includes a CPE translation fix to avoid missing Python prereleases
on Windows, though we have further work to do to generate a CPE that
matches the one NVD uses.

For #24611.

# 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
2025-02-03 12:22:48 -06:00
Victor Lyuboslavsky 44af7155db Refactoring service layer. Part 1 (#25945)
Refactoring some functionality out of the service package so it can be
reused by a different service package.
- auth middleware
- logging errors

No functional changes.
2025-02-03 11:23:26 -06:00
d38d180357 Add labels and editing for VPP apps (#25979)
For #24609

---------

Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
Co-authored-by: Jahziel Villasana-Espinoza <jahzielv@gmail.com>
2025-02-03 11:16:21 -06:00
Eric f0cd0a6950 Website: Update vitals pages (#25981)
Changes:
- Updated the vitals page to not show PowerShell commands when Windows
is not the selected platform.
2025-02-03 10:49:42 -06:00
Sarah Gillespie 57ae189f86 Fix issue related to verification of Windows disk encryption (#25875) 2025-02-03 09:31:00 -06:00
Brock WaltersandEric b29e3d44c3 Update system_extensions.yml (#25917)
Added example query.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-02-03 10:22:50 -05:00
RachelElysia 4779fef8a7 Fleet UI: New button dropdown does not render option over placeholder when selected (#25948) 2025-02-03 09:16:33 -05:00
EricandMike Thomas 84d222d16d Website: add navigation and search bar to documentation pages (#25795)
Closes #25655

Changes:
- Created a new component: `<docs-nav-and-search>`, a component that
displays links to documentation pages and a search bar.
- Added the `<docs-nav-and-search>` component to documentation pages,
query pages, policy pages, vitals pages, app library pages, and osquery
schema documentation pages.
- Updated the documentation template page to match the latest
wireframes.
- Updated the osquery schema documentation pages to match the latest
wireframes.

---------

Co-authored-by: Mike Thomas <78363703+mike-j-thomas@users.noreply.github.com>
2025-02-03 21:13:26 +09:00
Eric 33e7af4fa6 Website: Add note about PowerShell commands (#25973)
Changes:
- Added a note about Powershell commands to the vital details page,
query details page, and policy details page.
2025-02-03 14:20:20 +09:00
EricandMike McNeil 6cfecdeea3 Website: Add Powershell commands to queries.yml and standard query library. (#25972)
Changes:
- Added powershell commands to windows queries in queries.yml and
windows policies in the standard query library.
- Updated code blocks on the vital details, policy details, and query
details pages to have a tab switcher to switch to view PowerShell
commands.

---------

Co-authored-by: Mike McNeil <mikermcneil@users.noreply.github.com>
2025-02-02 21:31:00 -06:00
Ian Littman 9145709c0e Switch "Disk encryption" casing for Windows/Linux profiles (#25801)
For #25191

# 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/Committing-Changes.md#changes-files)
for more information.
- [x] Manual QA for all new/changed functionality

I can QA this later but @RachelElysia lmk if you can beat me to it.
Requires a Linux host and a Windows host enrolled, which I'll have soon
but don't have right this second.
2025-02-01 20:14:03 -06:00
Eric b1b929a681 Website: update order of ticker options on homepage. (#25966)
Changes:
- Updated the order of items in the ticker(s) on the homepage.
2025-02-01 13:28:51 -06:00
Mike McNeil 6c14c20928 Update interactive-entertainment-company-adopts-fleet-for-mdm.md (#25964)
Capitalization fix
2025-01-31 22:01:29 -06:00
IgnitablechiefandSam Pfluger 2f60f1ddc5 Update README.md (#25918)
Added Mason Buettner to the Team Table

# 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: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-01-31 18:50:00 -06:00
Sam Pfluger ced88166ed Remove CSE position (#25963) 2025-01-31 18:49:38 -06:00
Tim Lee 61cc07447b Adjust vuln host count batch size (#25957) 2025-01-31 16:49:36 -07:00
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