Commit Graph
17525 Commits
Author SHA1 Message Date
Victor Lyuboslavsky 85a98d83dd Refactor EnrollOrbit/EnrollHost (#30872)
Fixes #30473 

Refactore Datastore.EnrollHost and Datastore.EnrollOrbit methods to use
functional options. Doing this refactor before adding new options to
those methods. This should make the code more maintainable and easier to
understand.

No functional changes here. Just refactoring.

# Checklist for submitter

- [x] Added/updated automated tests


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Refactor**
* Streamlined host and Orbit enrollment methods to use a flexible
options-based pattern instead of fixed parameter lists.
* Updated related tests and service logic to use the new options
approach, improving clarity and extensibility for enrollment operations.

* **New Features**
* Introduced configuration options for host and Orbit enrollment,
allowing more explicit and customizable parameter setting during
enrollment.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 17:22:02 -03:00
Sam Pfluger d7c3ad0f0f Remove former team member (#30909) 2025-07-15 14:59:05 -05:00
e497d7c11e UI: Follow-up for 25798 - update tests, reorganize component locations (#30792)
## Follow-up for #25798

- [x] Added/updated automated tests
- [x] Manual QA

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-07-15 12:33:19 -07:00
Allen Houchins a0845a601f Setting up Entra conditional access (#30893)
Configuring Entra conditional access:
- Test group label created
- SSO extension mobileconfig
- Policy to auto-install Company Portal app
- Company Portal software title defined
2025-07-15 14:31:39 -05:00
Magnus Jensen c007c6e665 Fix host certificate parsing with embedded slash (#30827)
Fixes: #28996 - Verified by installing the [failing
certificate](https://ssl-tools.net/subjects/b0e31e6fe1b4e58b38cd4664dd9184b2eead11f6)
on a local host, and then seeing the certificate appear in Fleet host
details.
2025-07-15 21:24:15 +02:00
Ian Littman 4c6699ab27 Revise OS vuln query to avoid duplicate entries (#30812)
Fixes #27061.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-15 14:03:25 -05:00
Jordan Montgomery 7c2c6736cc Managed Apple account user enrollment - integrate PoC changes (#30755)
Fixes 30636

I am adding a handful of additional unit tests but this is ready for
review now. Integrates changes from Victor's PoC for Account Driven User
Enrollment including a nice end to end integration test including the
SAML portion

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-15 15:02:11 -04:00
Ian Littman 84be9d0f95 Fix handling of software policy automations when a hash is specified inside a software file (#30814)
Fixes #30435.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-15 13:24:24 -05:00
Sarah Gillespie 17da791012 Add encryption_key_archived to host details API response (#30850) 2025-07-15 13:21:39 -05:00
jacobshandlingandJacob Shandling 555ae5441e Update Go to 1.24.5 (#30770)
## #30730 
- Update Go version
- Update the docs for this process
- Confirmed `fleet`, `fleetctl`, and related docker images build
successfully
- Note that failing tests are unrelated: see [Slack
thread](https://fleetdm.slack.com/archives/C019WG4GH0A/p1752175318523689)

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-15 10:59:17 -07:00
Noah Talerman 5c72b8f4bf #g-unicorns instead of :help-customers (#30894) 2025-07-15 12:31:25 -05:00
Rachael Shaw b21a2711f9 Website: Add missing redirect (#30895)
See https://github.com/fleetdm/fleet/issues/30883
2025-07-15 11:57:55 -05:00
Ian Littman f4a9eabfd9 Uninstall FMA MSIs by UpgradeCode when available (#30581)
Fixes #27757.

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Improved uninstallation process for MSI-based applications by
dynamically detecting and uninstalling all related product codes using
the upgrade code, enhancing reliability for machine-wide installs.

* **Bug Fixes**
* Updated uninstall scripts for BoxDrive, Cloudflare WARP, and Google
Chrome to ensure complete removal of all associated components.

* **Chores**
* Updated installer versions for Cloudflare WARP and Google Chrome to
the latest releases.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 11:38:17 -05:00
Lucas Manuel Rodriguez 22ddb12530 Update osquery schema for 5.18.1 (#30873)
https://github.com/osquery/osquery/releases/tag/5.18.1 was released
today.
2025-07-15 11:25:51 -05:00
Eric 60e34111c2 Website: Update instructions on compliance proxy page (#30840)
Closes: https://github.com/fleetdm/fleet/issues/30554

Changes:
- Updated the instructions on the /compliance-partner/enroll page to
include steps about completing registration in Microsoft Entra.
2025-07-15 11:21:50 -05:00
Scott GressandRachael Shaw bd59a165f9 Update "manage labels" guide with Host Vitals label info (#30428)
for #30058 

# Details

Added instructions on creating Host Vitals labels, and consolidated the
instructions for adding name and description into one step.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-15 11:19:01 -05:00
Victor Lyuboslavsky d20ddf3328 Fixed bug where PR author's own review was counted as first review. (#30815)
Fixes #29140

Only impacts metrics gathering.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Reviews made by the pull request creator are now filtered out in
addition to bot reviews when viewing pull request review events.

* **Tests**
* Added and updated tests to verify correct filtering of both bot and
pull request creator reviews, including improved logging checks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 15:59:23 +02:00
Jahziel Villasana-Espinoza e02c501563 update fma readme with new field (#30874)
> Closes https://github.com/fleetdm/fleet/issues/30780

# 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] Manual QA for all new/changed functionality
2025-07-15 09:48:49 -04:00
Jahziel Villasana-Espinoza aedb8bf78f allow manually specified install and uninstall scripts for homebrew (#30805)
> Closes #30780

# 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/guides/committing-changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-15 09:07:29 -04:00
github-actions[bot]andlucasmrod db700abb54 Update versions of fleetd components in Fleet's TUF [automated] (#30867)
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-07-15 07:54:43 -03:00
Noah Talerman ab3355768a Customer request handbook: Communicate feedback on prioritized customer requests (#30859) 2025-07-15 02:25:02 -05:00
Kevin Malkin 8cb4e4614a Update go-to-market-groups.md (#30862) 2025-07-15 02:24:00 -05:00
Luke HeathandIan Littman 5276a08665 Only run docker publish when PR is not a fork (#30808)
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-14 17:03:37 -06:00
Robert Fairburn ad28be9623 Fix maintenance window and rds engine version dogfood (#30791) 2025-07-14 17:46:13 -05:00
Eric a740112cd5 Website: update configuration builder page (#30609)
Changes:
- Added support for payloads with multiple inputs to the configuration
profile builder
- Added settings for the `firewall` and `gatekeeper` payloads for macOS
- Added settings for Applications, Bitlocker, and SmartScreen for
Windows

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Expanded configuration options for both macOS and Windows, including
new categories like "Software & updates," "Gatekeeper," "Firewall,"
"Privacy & security," "SmartScreen," "BitLocker," and "Applications."
* Added support for multifield payloads, allowing more detailed and
flexible input for device management settings.
* Enabled downloading of configuration profiles by individual category.

* **User Interface**
* Improved form layouts and styles for better grouping, alignment, and
clarity.
* Introduced grouped payloads, enhanced tooltips, and a "For Fleet
Users" guidance note.
* Added new input types (select, multifield) with inline validation and
error feedback.

* **Bug Fixes**
  * Enhanced form data handling and validation for complex payloads.
  * Improved UI consistency when selecting categories and payloads.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 16:50:33 -05:00
Allen Houchinsandallenhouchins dfc6bfa97f Update 1Password macOS version number to 8.11.1 (#30847)
Co-authored-by: allenhouchins <allen@fleetdm.com>
2025-07-14 15:28:57 -05:00
Allen Houchins 4a76b8f03c Add Company Portal for macOS as a Fleet-maintained app (#29777) 2025-07-14 13:12:49 -06:00
Victor Lyuboslavsky c25fed2492 Added a vendored version of httpsig-go. (#30820)
For #30473

This change adds a vendored `httpsig-go` library to our repo. We cannot
use the upstream library because it has not merged the change we need:
https://github.com/remitly-oss/httpsig-go/pull/25

Thus, we need our own copy at this point.

The instructions for keeping this library up to date (if needed) are in
`UPDATE_INSTRUCTIONS`.

None of the coderabbitai review comments are relevant to the
code/features we are going to use for HTTP message signatures.

We will use this library in subsequent PRs for the TPM-backed HTTP
message signature feature.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced a Go library for HTTP message signing and verification,
supporting multiple cryptographic algorithms (RSA, ECDSA, Ed25519,
HMAC).
* Added utilities for key management, including JWK and PEM key
handling.
* Provided HTTP client and server helpers for automatic request signing
and signature verification.
* Implemented structured error handling and metadata extraction for
signatures.

* **Documentation**
  * Added comprehensive README, usage examples, and update instructions.
* Included license and configuration files for third-party and testing
tools.

* **Tests**
* Added extensive unit, integration, and fuzz tests covering signing,
verification, and key handling.
* Included official RFC test vectors and various test data files for
robust validation.

* **Chores**
* Integrated continuous integration workflows and ignore files for code
quality and security analysis.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 20:26:50 +02:00
Eric 1528da68f4 Website: Update contact form message delivery (#30711)
Changes:
- Updated the `deliver-contact-form-message` action to send contact form
messages to our support email address
- Changed the subject of contact form messages sent by Fleet Premium
subscribers ("New contact form message" » "New Fleet Premium customer
message")
2025-07-14 11:36:05 -05:00
Victor Lyuboslavsky 7319e269e0 Added Grafana query to README.md for reference. (#30632)
Added Grafana query to Engineering Metrics README.md for reference.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Added a new "Grafana queries" section to the README, providing a
detailed example SQL query for visualizing the "Time to First Review"
metric with dynamic filtering and rolling averages in Grafana
dashboards.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 12:10:30 -04:00
github-actions[bot]andlucasmrod 8d7e87c4e8 Update versions of fleetd components in Fleet's TUF [automated] (#30813)
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-07-14 10:56:09 -03:00
Zay Hanlon 723ec5fbb7 Update customer-success.rituals.yml DRI's (#30811) 2025-07-12 17:52:33 -05:00
Tim Lee 2bf57a58c9 Link website "add app" to contributor docs (#30819) 2025-07-12 16:36:03 -04:00
Allen Houchins c64bee2901 New FMA: Santa for macOS (#29806) 2025-07-12 09:34:02 -06:00
Zay Hanlon f76516ebae Update kanban board link to GitHub project (#30810) 2025-07-12 10:16:51 -05:00
Katheryn Satterlee 3be863646c Update foreign-vitals-map-idp-users-to-hosts.md (#30111) 2025-07-12 01:15:12 -05:00
Eric 621dd7f67d Website: Update zoom webhook (#30809)
Closes: https://github.com/fleetdm/confidential/issues/11370

Changes:
- Updated the receive-from-zoom webhook to return a 200 response to Zoom
if a call has no transcript (e.g., the host stops the recording at the
start of the meeting).
2025-07-11 19:14:02 -05:00
Eric a9ee72b2bc Website: Update software catalog card width (#30807)
Closes: #30740

Changes:
- Updated the styles of the cards on the software catalog page to
prevent cards on their own row from being inconsistently sized.
2025-07-11 17:55:03 -05:00
Eric 86f75b614c Website: Update compliance proxy redirect exits (#30800)
Changes:
- Added a badRequest exit to the Microsoft compliance proxy's admin
consent redirect endpoint.
- Updated the Microsoft compliance proxy's admin consent redirect
endpoint to use the new exit if a request is missing either a tenant or
state value.
2025-07-11 16:26:19 -05:00
Kenny Botelho ab8379afdf FMA: Add Real VNC Viewer as a maintained app (#30439) 2025-07-11 15:06:36 -06:00
Konstantin Sykulev 34a7978d25 Updated test tuf instructions (#29226) 2025-07-11 14:50:24 -06:00
Katheryn Satterlee 98fd078bd5 Remove references to 'fleetctl upload-software' (#30793) 2025-07-11 14:05:18 -06:00
Luke Heath 89281e5554 Temporary docs coeowners change (#30801) 2025-07-11 14:04:56 -06:00
Ian Littman 2a94c1da8c Add changes file for #30797 (#30798) 2025-07-11 14:41:00 -05:00
Dan Fuhry 50548d4b33 [fleetctl] fail api command when args present after uri (#30797) 2025-07-11 13:34:10 -06:00
Jahziel Villasana-Espinoza 091e11917e fix issues in setup experience due to VPP verification (#30679)
> Closes https://github.com/fleetdm/fleet/issues/30678

# Checklist for submitter

If some of the following don't apply, delete the relevant line.

<!-- Note that API documentation changes are now addressed by the
product design team. -->

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
- [x] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-07-11 14:57:15 -04:00
Konstantin Sykulev 6957f84f28 Manual labels no longer factor in created_at time for exclusions (#30745)
Fixes https://github.com/fleetdm/fleet/issues/29315

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

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Bug Fixes**
* The "created_at" label no longer affects manual label scoping for
software packages, ensuring more accurate filtering.
* Device authentication tokens are now validated solely by their value,
not by their expiration time.

* **Tests**
* Added new tests to verify label scoping logic, ensuring correct
handling of dynamic and manual labels based on timestamps.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 12:18:34 -05:00
Gabriel Hernandez e91f763933 Update UI activity for mdm enrollment and gitops mode changes on ABM page (#30741)
relates to [#30628](https://github.com/fleetdm/fleet/issues/30628) and
[#30629](https://github.com/fleetdm/fleet/issues/30629)

This contains two small updates to the UI:

1. disabled the actions dropdown in abm table while in gitop mode
2. updates the mdm_enrolled UI activity to display personal enrollment
type

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality
2025-07-11 17:30:11 +01:00
Victor Lyuboslavsky 0180cc8086 Add SCEP endpoint for host identity. (#30589)
Fixes #30458 

Contributor docs PR: https://github.com/fleetdm/fleet/pull/30651

# Checklist for submitter

- We will add changes file later.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [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
- Did not do manual QA since the SCEP client I have doesn't support ECC.
Will rely on next subtasks for manual QA.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced Host Identity SCEP (Simple Certificate Enrollment Protocol)
support, enabling secure host identity certificate enrollment and
management.
* Added new API endpoints for Host Identity SCEP, including certificate
issuance and retrieval.
* Implemented MySQL-backed storage and management for host identity SCEP
certificates and serials.
* Added new database tables for storing host identity SCEP certificates
and serial numbers.
* Provided utilities for encoding certificates and keys, and handling
ECDSA public keys.

* **Bug Fixes**
  * None.

* **Tests**
* Added comprehensive integration and unit tests for Host Identity SCEP
functionality, including certificate issuance, validation, and error
scenarios.

* **Chores**
* Updated test utilities to support unique test names and new SCEP
storage options.
* Extended mock datastore and interfaces for new host identity
certificate methods.

* **Documentation**
* Added comments and documentation for new SCEP-related interfaces,
methods, and database schema changes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 11:44:07 -03:00
Victor Lyuboslavsky a51420f201 Added/updated host identity contributor docs. (#30651)
Fixes #30458 



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Updated terminology and clarified details for TPM-backed HTTP signing,
including alternate names, TPM ECC curve selection, and file naming
conventions.
* Added documentation for a new API endpoint to retrieve host identity
certificates via SCEP, specifying supported algorithms and usage
requirements.
* Improved configuration guidance, troubleshooting steps, and expanded
the list of planned future enhancements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 09:32:52 +02:00