Commit Graph
16873 Commits
Author SHA1 Message Date
Eric a69dfa5ee4 Update host vital queries in queries.yml (#29432)
Changes:
- Updated the host vital queries in queries.yml to have the changes from
https://github.com/fleetdm/fleet/pull/29360 and
https://github.com/fleetdm/fleet/pull/29280
2025-05-27 10:32:36 -05:00
Luke Heath d1f7de7240 Fix KPI script output order to match KPI sheet (#29420) 2025-05-27 10:29:36 -05:00
Irena Reedy c28dac2076 add irenareedy to humans (#29171) 2025-05-27 10:49:34 -04:00
Sam Pfluger f6dcf5c34c handbook/marketing#order-swag Fixed broken link (#29470) 2025-05-27 09:30:35 -05:00
Eric 0eb3bbd3e0 Website: Deliver contact form messages via email. (#29455)
Closes: https://github.com/fleetdm/confidential/issues/10750

Changes:
- Added a new config variable: `contactFormEmailAddress`
- updated deliver-contact-form-message to send emails to users who do
not have a Fleet Premium subscription.
2025-05-27 08:06:55 -05:00
Noah Talerman 83c29d2cc5 Add UI redirect (#29445)
Redirect for the following user story:
- #27983

Specifically [this UI change
(Figma)](https://www.figma.com/design/K9BTJ3aZAvwWBXU9N8aqGa/-27983-Fleet-Desktop-%3E-Self-service--Add-%22Update%22-actions-when-updates-are-detected-for-installed-so?node-id=5408-4684&t=2qzAG36eyoKjsBAb-1)
2025-05-26 13:50:41 -04:00
Jorge Falcon c8ee085611 Enabling s3 software-installers backups with AWS Backup for Dogfood (#29358)
- Creating AWS Backup Plan for S3
- Creating AWS Backup Selection for S3
- Creating AWS Backup Vault for S3 (Source)
- Creating AWS Backup Vault for S3 (Destination)
- Creating KMS Key for AWS Backup (Source)
- Creating KMS Key for AWS Backup (Destination)
- Added `tags = { backup = "true" }` for
fleet_config.software_installers
- Updating tf-mod-root-v1.15.0 -> tf-mod-root-v1.15.1
- Updating IAM Permissions for AWS Backup Role
2025-05-26 13:22:28 -04:00
Jake Stenger 96a068d63d Update go-to-market-groups.md (#29263) 2025-05-23 19:35:52 -05:00
Noah Talerman bc266a288f Android MDM setup: Fix wrong feature flag (#29401) 2025-05-23 19:33:17 -05:00
Eric c1a8ee8c68 Website: make masthead nav menu items clickable links (#29436)
Closes: https://github.com/fleetdm/fleet/issues/29120

Changes:
- Updated the website's masthead navigation menus to be clickable links.
2025-05-23 18:18:14 -05:00
Eric ae7dac7e2b Website: add create-historical-event helper (#29435)
Closes: https://github.com/fleetdm/confidential/issues/10718
Related to: https://github.com/fleetdm/confidential/issues/10719

Changes:
- Created a new helper
(`sails.helpers.salesforce.createHistoricalEvent`) to create Historical
event records in our CRM.
- Updated the custom hook, receive-from-clay webhook, and
create-or-update-one-newsletter-subscription action to create historical
event records using the new helper.
2025-05-23 17:59:58 -05:00
Luke Heath 32438b7316 Update CODEOWNERS (#29416) 2025-05-23 15:38:52 -04:00
RachelElysia 87576e796d Fleet UI: Consistent script naming, enable copy button (#29422) 2025-05-23 12:19:43 -04:00
Sharon Katz 103239105f Fix #27888 (#29040)
This is fixing a misinterpretation of the [CIS
document](https://drive.google.com/file/d/1Bq6GSn_wRMp2JKbYsRt51V5BXV1gizDp/view?usp=drive_link)
for Macos 15/

In the doc search for:  "show full Website". 
The Audit bash script is:
```
% /usr/bin/sudo /usr/sbin/system_profiler SPConfigurationProfileDataType |
/usr/bin/grep ShowFullURLInSmartSearchField | /usr/bin/tr -d ' '

Result on my Mac:
ShowFullURLInSmartSearchField = 1;
```
This should be interpreted as 'Any user who has this setting is ok'. Not
looking for an empty user.
We have 48 other occurrences that we will discuss outside the scope of
this issue.

QA:
Applying the profile for my main user worked.
Adding a test user
The configuration was applied to it without the need to redeploy the
profile.

--> Hence, we are good with the way CIS recommends auditing.

checking with a query finds both accounts with the proper settign:

![image](https://github.com/user-attachments/assets/258c4183-dc76-49aa-a022-63954f1733dc)



# 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.
2025-05-23 10:19:23 -04:00
RachelElysia 6753655998 Fleet UI: Uninstall self service status change bug (#29412) 2025-05-23 09:33:44 -04:00
RachelElysia 6336309972 Fleet UI: Suface SHA256 in software details modal (#29408) 2025-05-23 09:09:06 -04:00
jacobshandlingandJacob Shandling e25c1c3728 UI: Add ability to run a script on all hosts that match a set of supported filters; Add UI to view batch run summaries (#29025)
_Only merge to `main` after [back
end](https://github.com/fleetdm/fleet/pull/29149) and [back end
extension](https://github.com/fleetdm/fleet/pull/29312)_

## For #28699, #29143, #29281

- Run scripts by filter
- View batch script run summary via activity feed
- Code clean up

### Run scripts by filter:
<img width="1280" alt="Screenshot 2025-05-09 at 5 21 51 PM"
src="https://github.com/user-attachments/assets/bcf2e275-f229-461b-8411-0e99c34af5bf"
/>
<img width="1280" alt="Screenshot 2025-05-09 at 5 22 47 PM"
src="https://github.com/user-attachments/assets/d4882ed3-cfa6-4952-acbe-89c60d65d482"
/>

### View script run summary:

![ezgif-4ebaf9c57d6e57](https://github.com/user-attachments/assets/4201ff85-04e3-473f-8a82-969f85e59558)

- [x] Changes file added for user-visible changes in `changes/`
- [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: Jacob Shandling <jacob@fleetdm.com>
2025-05-22 16:45:43 -07:00
Ian Littman ca09fa509b Add OVAL supported OS mappings for Ubuntu 24.10 and 25.04 (#29381)
For #29345.

Tested with Ubuntu 24.10. Can test again with 25.04 once
https://github.com/fleetdm/nvd/pull/42 is merged.

# 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] Manual QA for all new/changed functionality
2025-05-22 18:05:51 -05:00
Scott Gress bb09925d73 Add ability to bulk execute scripts based on filters (#29149)
for #28700 

# Checklist for submitter

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.

## Details

This PR adds the ability to use filters to select a subset of hosts to
run a script on, using the existing batch execution system. Due to the
scale limitations of the framework, we limit this to 5,000 hosts (we may
lift this limit in the future as we iterate on this feature).

The implementation follows the same basic strategy as the "transfer
hosts to team by filter" endpoint. If filters are supplied, they are
used to get host records using `ListHosts` or `ListHostsInLabel`. If IDs
are supplied, `ListHostsLiteByIDs` is used. From there, we do the same
validation as in the previous iteration, and send the host IDs to the
batch execution function.

There are many avenues for optimization here, some of which I already
have in a branch, but this is a very low-touch solution to get us larger
batch sizes right now. To do this at true scale warrants some cross-team
architecture discussions.

## Testing

**Automated:**

New automated tests were added for the existing `BatchExecuteScript`
service method, and verified that they still pass with the code updates.

**Manual testing:**

* Tested running a script on a subset of hosts on a single page (no team
and real team)
* Tested running a script on a subset of hosts using a query filter (no
team and real team)
* Tested running a script on a subset of hosts using a label filter (no
team and real team)
2025-05-22 16:44:34 -05:00
cbeb311b97 4.68.0 doc changes (#29393)
Documentation updates for v4.68.0

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Jahziel Villasana-Espinoza <jahziel@fleetdm.com>
Co-authored-by: Eugene <eugene@fleetdm.com>
Co-authored-by: dantecatalfamo <dante.catalfamo@gmail.com>
Co-authored-by: Konstantin Sykulev <konst@sykulev.com>
Co-authored-by: Luke Heath <luke@fleetdm.com>
2025-05-22 16:20:56 -05:00
Savannah FriendandSam Pfluger e941dea898 Update open-positions.yml (#28662)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-05-22 16:18:05 -05:00
Andrey KizimenkoandSam Pfluger dbb7da454b Adjusting table alignment by removing <br> (#29394)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-05-22 15:25:35 -05:00
Savannah Friend 12ae60ab1c Update case study with ROI (#29390) 2025-05-22 15:20:19 -05:00
Juan Fernandez 55fec5283e Re-verify Linux disk encryption #26693 (#29034)
Fixes #26693 

Added functionality to verify that the escrowed LUKS disk encryption key is valid. To achieve this, two new fleetd tables were added: lsblk and  cryptsetup_luks_salt/table to compare the stored encryption key with the ones present on the host.
2025-05-22 16:15:26 -04:00
Scott Gress c8312c83c3 Add batch script execution summary endpoint (#29312)
# 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)
- [X] Added/updated automated tests
- [X] Manual QA for all new/changed functionality

## Details

This PR adds a new `GET /scripts/batch/summary/:batch_execution_id`
endpoint that returns a summary of the current state of a batch script
execution, including some basic info about the script being executed and
a breakdown of how hosts have responded. See
https://github.com/fleetdm/fleet/pull/29200 for API response.
2025-05-22 15:07:35 -05:00
RachelElysia 29e937ffbf FE: Followup gitops YAML code nits (#29383) 2025-05-22 15:59:15 -04:00
Dante Catalfamo 0b6ee9392f Windows 11 Enterprise CIS 4.0 (#29191)
#27396 

## Results

First Column:

-   `+` = Added
-   D = Duplicate
-   X = Updated/Removed
-   ? = Unclear/un-actionable

Tested Column:

-   Yes = Works as described
- NF = Could not find GP setting, but registry key exists and editing it
makes the policy pass
- NA = Not available. Could not find GP setting, registry setting
doesn't exist

| | Tested | Type | Comment |
|--- |------- |------
|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
| + | NF | ADD | 5 (L2) Ensure 'WinHTTP Web Proxy Auto-Discovery Service
(WinHttpAutoProxySvc)' is set to 'Disabled' |
| + | Yes | ADD | 18.10.58 (L1) Ensure 'Turn on Basic feed
authentication over HTTP' is set to 'Disabled' |
| + | Yes | ADD | 2.3.11 (L1) Ensure 'Network security: LDAP client
encryption requirements' is set to 'Negotiate sealing' or higher |
| + | Yes | ADD | 18.6.4 (L1) Ensure 'Configure multicast DNS (mDNS)
protocol' is set to 'Disabled' |
| + | Yes | ADD | 18.6.4 (L2) Ensure 'Turn off default IPv6 DNS Servers'
is set to 'Enabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Audit client does not support
encryption' is set to 'Enabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Audit client does not support
signing' is set to 'Enabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Audit insecure guest logon' is set
to 'Enabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Enable authentication rate
limiter' is set to 'Enabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Enable remote mailslots' is set to
'Disabled' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Mandate the minimum version of
SMB' is set to 'Enabled: 3.1.1' |
| + | Yes | ADD | 18.6.7 (L1) Ensure 'Set authentication rate limiter
delay (milliseconds)' is set to 'Enabled: 2000' or more |
| + | Yes | ADD | 18.6.8 (L1) Ensure 'Audit insecure guest logon' is set
to 'Enabled' |
| + | Yes | ADD | 18.6.8 (L1) Ensure 'Audit server does not support
encryption' is set to 'Enabled' |
| + | Yes | ADD | 18.6.8 (L1) Ensure 'Audit server does not support
signing' is set to 'Enabled' |
| D | -- | ADD | 18.6.8 (L1) Ensure 'Enable remote mailslots' is set to
'Disabled' |
| D | -- | ADD | 18.6.8 (L1) Ensure 'Mandate the minimum version of SMB'
is set to 'Enabled: 3.1.1' |
| + | Yes | ADD | 18.7 (L2) Ensure 'Configure Windows protected print'
is set to 'Enabled' |
| + | Yes | ADD | 18.9 (L1) Ensure 'Configure the behavior of the sudo
command' is set to 'Enabled: Disabled' |
| + | Yes | ADD | 18.9.30.1 (L1) Ensure 'Block NetBIOS-based discovery
for domain controller location' is set to 'Enabled' |
| + | Yes | ADD | 18.9.39 (L1) Ensure 'Configure SAM change password RPC
methods policy' is set to 'Enabled: Block all change password RPC
methods' |
| + | Yes | ADD | 18.10.3 (L2) Ensure 'Turn off API Sampling' is set to
'Enabled' |
| + | Yes | ADD | 18.10.3 (L2) Ensure 'Turn off Application Footprint'
is set to 'Enabled' |
| + | Yes | ADD | 18.10.3 (L2) Ensure 'Turn off Install Tracing' is set
to 'Enabled' |
| + | Yes | ADD | 18.10.4 (L1) Ensure 'Not allow per-user unsigned
packages to install by default (requires explicitly allow per install)'
is set to 'Enabled' |
| + | Yes | ADD | 18.10.18 (L1) Ensure 'Enable App Installer Local
Archive Malware Scan Override' is set to 'Disabled' |
| + | Yes | ADD | 18.10.18 (L1) Ensure 'Enable App Installer Microsoft
Store Source Certificate Validation Bypass' is set to 'Disabled' |
| + | Yes | ADD | 18.10.18 (L2) Ensure 'Enable Windows Package Manager
command line interfaces' is set to 'Disabled' |
| + | Yes | ADD | 18.10.29 (L1) Ensure 'Do not apply the Mark of the Web
tag to files copied from insecure sources' is set to 'Disabled' |
| + | Yes | ADD | 18.10.43 (L1) Ensure 'Control whether exclusions are
visible to local users' is set to 'Enabled' |
| + | Yes | ADD | 18.10.43.4 (L1) Ensure 'Enable EDR in block mode' is
set to 'Enabled' |
| + | Yes | ADD | 18.10.43.8 (L2) Ensure 'Convert warn verdict to block'
is set to 'Enabled' |
| + | Yes | ADD | 18.10.43.10 (L1) Ensure 'Configure real-time
protection and Security Intelligence Updates during OOBE' is set to
'Enabled' |
| + | Yes | ADD | 18.10.43.11.1.1 (L2) Ensure 'Configure Brute-Force
Protection aggressiveness' is set to 'Enabled: Medium' or higher |
| + | Yes | ADD | 18.10.43.11.1.1 (L1) Ensure 'Configure Remote
Encryption Protection Mode' is set to 'Enabled: Audit' or higher |
| + | Yes | ADD | 18.10.43.11.1.2 (L2) Ensure 'Configure how
aggressively Remote Encryption Protection blocks threats' is set to
'Enabled: Medium' or higher |
| + | Yes | ADD | 18.10.43.13 (L1) Ensure 'Scan excluded files and
directories during quick scans' is set to 'Enabled: 1' |
| + | Yes | ADD | 18.10.43.13 (L1) Ensure 'Trigger a quick scan after X
days without any scans' is set to 'Enabled: 7' |
| + | Yes | ADD | 18.10.57.3.3 (L2) Ensure 'Restrict clipboard transfer
from server to client' is set to 'Enabled: Disable clipboard transfers
from server to client' |
| + | NA | ADD | 19.7.40 (L1) Ensure 'Turn off Windows Copilot' is set
to 'Enabled' |
| + | NF | ADD | 5 (L2) Ensure 'GameInput Service (GameInputSvc)' is set
to 'Disabled' |
| + | Yes | ADD | 18.6.8 (L1) Ensure 'Require Encryption' is set to
'Enabled' |
| + | Yes | ADD | 18.10.91 (L2) Ensure 'Allow mapping folders into
Windows Sandbox' is set to 'Disabled' |
| X | Yes | MOVE | 18.4.1 (L1) Ensure 'Configure RPC packet level
privacy setting for incoming connections' is set to 'Enabled' TO 18.7 |
| X | Yes | REMOVE | 18.10.42 Ensure 'Turn off Microsoft Defender
AntiVirus' is set to 'Disabled' |
| X | Yes | REMOVE | 18.10.15 (L1) Ensure 'Toggle user control over
Insider builds' is set to 'Disabled' |
| X | Yes | REMOVE | 18.10.66 (L1) Ensure 'Only display the private
store within the Microsoft Store' is set to 'Enabled' |
| X | Yes | REMOVE | 2.3.1 (L1) Ensure 'Accounts: Block Microsoft
accounts' is set to 'Users can't add or log on with Microsoft accounts'
|
| X | Yes | REMOVE | 18.9.7.1 (BL) Ensure 'Prevent installation of
devices that match any of these device IDs: Prevent installation of
devices that match any of these device IDs' is set to
'PCI\CC<sub>0C0A</sub>' |
| X | Yes | REMOVE | 18.9.7 (BL) Ensure 'Prevent installation of devices
that match any of these device IDs: Also apply to matching devices that
are already installed.' is set to 'True' (checked) |
| X | Yes | REMOVE | 18.9.7 (BL) Ensure 'Prevent installation of devices
that match any of these device IDs' is set to 'Enabled' |
| X | Yes | REMOVE | 5 (L2) Ensure 'Peer Name Resolution Protocol
(PNRPsvc)' is set to 'Disabled' |
| X | Yes | REMOVE | 5 (L2) Ensure 'Peer Networking Grouping (p2psvc)'
is set to 'Disabled' |
| X | Yes | REMOVE | 5 (L2) Ensure 'Peer Networking Identity Manager
(p2pimsvc)' is set to 'Disabled' |
| X | Yes | REMOVE | 5 (L2) Ensure 'PNRP Machine Name Publication
Service (PNRPAutoReg)' is set to 'Disabled' |
| X | Yes | REMOVE | 18.6.4 (L1) Ensure ‘Configure DNS over HTTPS (DoH)
name resolution' is set to 'Enabled: Allow DoH' or higher |
| X | Yes | RENAME | 2.2 (L1) Configure 'Create symbolic links' TO (L1)
Ensure 'Create symbolic links' is set to 'Administrators'23528 |
| X | Yes | RENAME | 2.2 (L2) Configure 'Log on as a service' TO (L2)
Ensure 'Log on as a service' is configured |
| + | Yes | RENAME | 18.10.82.1 (L1) Ensure 'Enable MPR notifications
for the system' TO 'Configure the transmission of the user's password in
the content of MPR notifications sent by winlogon.' |
| X | Yes | UPDATE | 18.10.17 (L1 -> L2) Ensure 'Enable App Installer'
is set to 'Disabled' |
| X | Yes | UPDATE | 18.4 (L1) Ensure 'Enable Certificate Padding' TO
Allow REG<sub>DWORD</sub> or REG<sub>SZ</sub> |
| X | NA | UPDATE | 18.9.26 Ensure 'Configures LSASS to run as a
protected process' is set to 'Enabled: Enabled with UEFI Lock' |
| ? | Unknown | UPDATE | Section 17 Auditpol commands to use Policy
GUIDs |
| ? | Unknown | UPDATE | 18.4 (L1) Ensure 'Enable Certificate Padding'
is set to 'Enabled' |
| ? | Unknown | UPDATE | Section changes from Windows 11 Release 23H2
v2.0 Administrative Templates |
| ? | Unknown | UPDATE | Section changes from Windows 11 Release 24H2
Administrative Templates |
| ? | Unknown | UPDATE | User Overview (Section 19) |
| ? | Unknown | UPDATE | Profile Names |
| ? | Unknown | UPDATE | General Overview and Intended Audience Section
|
| ? | Unknown | UPDATE | BitLocker Operating System Drive Section |
| ? | Unknown | UPDATE | 18.10.93.4 (L1) Ensure 'Enable optional
updates' is set to 'Disabled' |
2025-05-22 15:55:45 -04:00
Scott Gress 4bed761f77 Add validator for NVD feed items (#29282)
for #21304 

# Checklist for submitter

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

## Details

This PR adds a new validator for NVD feed files to be run as part of the
nvd repo workflow. The intention is for that workflow to fail if any of
the files it creates are not valid (i.e. they would not be parseable by
the Fleet server) so that we don't publish and tag a release with bad
files in it.

This follows the pattern from
https://github.com/fleetdm/fleet/issues/21300 as suggested by @iansltx.

## Testing

I downloaded all of the latest release files to my local system using
```bash
gh release download 202505190037 -D ~/Downloads/nvd
```
and then ran the validator on them with
```bash
go run cmd/cpe/validate/main.go --db_dir ~/Downloads/nvd
```
To simulate file issues, I modified one section of each file to change a
value into the wrong type, and validated that this caused the validator
to panic. Examples:
```
panic: failed to load CPE translations: decode json: json: cannot unmarshal string into Go struct field CPETranslation.filter.vendor of type []string

goroutine 1 [running]:
main.checkCPETranslations({0x16dc975f9?, 0x14000192190?})
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:34 +0xa8
main.main()
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:24 +0xb0
exit status 2
```
---
```
panic: failed to parse MacOffice release notes fleet_macoffice_release_notes_macoffice-2025_05_19.json: parsing time "xyz" as "2006-01-02T15:04:05Z07:00": cannot parse "xyz" as "2006"

goroutine 1 [running]:
main.checkMacOfficeNotes({0x16f7af5f9, 0x1a})
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:56 +0x1f0
main.main()
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:25 +0xbc
exit status 2
```
---
```
panic: failed to parse MSRC feed fleet_msrc_Windows_Server_2012_R2-2025_05_19.json: json: cannot unmarshal array into Go struct field Vulnerability.Vulnerabities.RemediatedBy of type bool

goroutine 1 [running]:
main.checkMSRCVulnerabilities({0x16f49b5f9, 0x1a})
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:74 +0x1ac
main.main()
	/Users/scott/Development/fleet/cmd/cpe/validate/main.go:26 +0xc8
exit status 2
```

Additionally I tried the validator in [a run of the NVD
workflow](https://github.com/fleetdm/nvd/actions/runs/15121687898/job/42505283781)
and it executed successfully.
2025-05-22 14:51:52 -05:00
Jordan Montgomery f4e032b6cd Fixed setup experience UI hanging when a step is removed from the payload (#29385)
This is one facet of https://github.com/fleetdm/fleet/issues/28664

When you run gitops or otherwise just do something to remove a software
installer from the setup experience list while it is running and then
delete that software installer, setup experience fails to proceed past
the "steps" screen because it is expecting all software in the initial
payload to complete installation even if those installers were not in
the current payload.

This now tracks the status of items in the current payload and as a
small enhancement deletes the items that disappear
from the payload, which seemed like the best thing to do

# 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] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [x] Make sure fleetd is compatible 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)).
- [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.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2025-05-22 14:58:17 -04:00
Dante Catalfamo a202e31929 Add SMTP settings save tooltip (#29112) 2025-05-22 14:47:38 -04:00
Dante CatalfamoandScott Gress 437c8114b1 Allow certain licenses to disable telemetry (#29093)
#28220
---------

Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-05-22 14:27:07 -04:00
Jordan Montgomery 149cd9daca Tweak MDM detection query to return the proper enrollment when there are multiple entries (#29360)
This change is deceptively simple but helps us choose the right one in
cases like #29042 where there are multiple enrollments in the registry.
In this case the customer seems to have been using something like
co-management(though even using their MDM we have not repro'd
internally) which leads to 2 registry keys in the registry with a UPN
node. I believe the way some MDM services handle unenroll can also leave
the registry keys in this state. Either way, because of this, and the
fact that we have a LIMIT 1 in the query, we were, in 50% of the cases
where we had multiple keys, returning the less useful of the nodes from
the query and because no Server URL was coming back we were treating it
as if the host was not MDM enrolled and thus, not unenrolling it, and
leading to enrollment failing.

With this change we'll return the proper registry key which should allow
us to, in the case of migration, properly unenroll the host and even in
the case where a customer isn't using Fleet MDM will allow us to display
the correct information from the registry.

# 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] Manual QA for all new/changed functionality
2025-05-22 14:08:05 -04:00
Noah Talerman ef6720a029 Release: Fleet 4.68.0 (#28908) 2025-05-22 13:01:09 -05:00
Lucas Manuel Rodriguez 107690da4b Add missing musl static executable note in orbit/CHANGELOG.md (#29387) 2025-05-22 14:37:32 -03:00
jacobshandlingandJacob Shandling 831e06e8d7 UI: User menu- restore 2 dividers, remove border radius (#29376)
## For #27609 

<img width="179" alt="Screenshot 2025-05-21 at 4 53 45 PM"
src="https://github.com/user-attachments/assets/acfb15c1-a743-4a3a-9e6b-c2a7c9521f5b"
/>

This PR implements [the desired
UI](https://github.com/fleetdm/fleet/issues/27609#issuecomment-2885250756)
for the user menu

- ~[ ] Changes file added for user-visible changes in `changes/`~ [added
in previous
PR](https://github.com/fleetdm/fleet/pull/29066/files#diff-a072b167801f952e1d37dc5fdb98a4c292f95832b4d9c5e4eff40161ca3a40eaR1)
- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-05-22 10:19:38 -07:00
Noah Talerman 9e588c9e3a Add release calendar to handbook (#29386) 2025-05-22 12:08:15 -05:00
Scott Gress 8c21f1c35b Add GitOps section to PR template (#29368) 2025-05-22 12:07:38 -05:00
Janis Watts 8b64e498de Update Kinesis testing steps (#29370) 2025-05-22 12:07:06 -05:00
Luke Heath 45742e946f Adding changes for Fleet v4.68.0 (#28800) 2025-05-22 11:47:40 -05:00
Janis Watts 0b452982a7 Update Smoke test template (#29348)
Update Smoke test template with additional load testing instructions for
performance testing migrations
2025-05-22 10:38:37 -05:00
Janis Watts d1dbdfb0e0 Update load test instructions for migration testing (#29347)
Added additional information for performing loadtest migrations for
minor releases.
2025-05-22 10:05:05 -05:00
Allen HouchinsandSam Pfluger f29dde3a66 Updated support contact URL (#29298)
- Updated the support contact URL to point to #help-dogfood instead of
the customer support portal.

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-05-22 08:57:26 -05:00
RachelElysia 0ae3abd5d6 Fleet UI: Allow gitOps mode to add package to view YAML (#29274) 2025-05-22 09:47:57 -04:00
Scott Gress 2e89780c6d add HostIDs to label API (#29185)
for #27701

# 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] Manual QA for all new/changed functionality

## Details

This PR fixes an issue where adding or removing a single host on a
manual label in the UI had unexpected results when that host's serial
number was not unique. When adding the host, all other hosts with the
same serial # would be added. When removing the host, _no_ hosts would
be removed unless _all_ the hosts with the matching serial # were
removed. The fix here is to introduce a new API param `host_ids` which
allows sending explicit Fleet host IDs to the add/update label APIs.
These are guaranteed to be unique.

## Testing

* Added new automated tests for the `NewLabel` and `ModifyLabel`
services
* Manually tested adding and modifying labels using hosts with duplicate
serials (I manually updated serials in my local db to get duplicates)

## Notes

* The existing `hosts` param is preserved (and tested) since API-only
users may rely on it.
* A separate API docs PR will be opened.
2025-05-22 08:20:35 -05:00
github-actions[bot]andlucasmrod 9e9cc65a08 Update versions of fleetd components in Fleet's TUF [automated] (#29372)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2025-05-21 19:55:37 -03:00
Eric 9ef9dafbea Website: Update supported contactSource values in update-or-create-contact-and-account helper. (#29371)
Changes:
- Added a new supported contactSource value to the
`update-or-create-contact-and-account` helper: `LinkedIn - Liked the
LinkedIn company page`
2025-05-21 17:38:39 -05:00
Eric 83de20b31f Website: update error handling in receive-from-clay webhook (#29359)
Changes:
- Added two exits to the receive-from-clay webhook that are used when a
contact or account cannot be created/updated.
- Added an exit to the receive-from-clay webhook that is used when a
historical event record cannot be created.
2025-05-21 17:00:10 -05:00
Sam Pfluger 661d7de783 Remove outdated stubs (#29366) 2025-05-21 16:36:18 -05:00
Dante Catalfamo 405dd55371 Make read_host_disk_encryption_key a host activity (#28858)
#28521
2025-05-21 16:47:11 -04:00
Scott Gress 8b7a9a14ec Don't clear SMTP settings if not supplied in GitOps (#29346)
Revering [this
change](https://github.com/fleetdm/fleet/pull/29215/files#diff-ff669b9f96ea80679f4651e9cf45ded57d5cd939d1e4e24977eb72d37d71e8bcR360)
because the `smtp_settings` key is not documented in the GitOps docs, so
we can't assume that people have it set already.
2025-05-21 14:37:54 -05:00