Commit Graph
22757 Commits
Author SHA1 Message Date
fleet-releaseandallenhouchins 648a75c429 Update Fleet-maintained apps (#42241)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: allenhouchins <32207388+allenhouchins@users.noreply.github.com>
2026-03-23 10:28:15 -05:00
Eric 563b3fcef1 Website: Update order of events on GitOps workshop page. (#42244)
Changes:
- Updated the events on the gitops workshop page to be sorted by their
start date.
2026-03-23 10:25:05 -05:00
johnjeremiah 31d532b55c Removing script that strips UTM parameters (#42205)
Qualified reads UTM parameters in order to determine the source of
traffic. With this script, we are removing the parameters from the page
before Qualified can read them.
2026-03-23 09:59:09 -05:00
Mitch Francese 7c3f30a56f Add Proxyman as a Fleet-maintained app (#41573)
## Summary

- Adds Proxyman (macOS) to the Fleet maintained apps catalog
- Input: `ee/maintained-apps/inputs/homebrew/proxyman.json`
- Output generated via ingester script

## Validation checklist

- [ ] App can be downloaded using manifest URL
- [ ] App installs successfully using manifest install script
- [ ] App exists in software inventory after install
- [ ] App uninstalls successfully using manifest uninstall script

Note: @mention #g-software Product Designer in a comment pointing to the
new icon once added.
2026-03-23 09:52:41 -05:00
b274199214 Add open position: Customer Solutions Architect (#42237)
## Summary

- Adds a new open position entry for **Customer Solutions Architect**
under the Customers department to `handbook/company/open-positions.yml`
- Hiring manager: Zay Hanlon
- Includes responsibilities and experience requirements for the role

---

Built for [Isabell
Reedy](https://fleetdm.slack.com/archives/D0AEGJCGJR0/p1774273710133519)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Isabell Reedy <113355639+ireedy@users.noreply.github.com>
2026-03-23 14:06:33 +00:00
Victor LyuboslavskyandClaude Opus 4.6 109b4e10cd Throttle CA access through MDM (#42114)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #38002 

Demo video: https://www.youtube.com/watch?v=JOZh1iQ34iI
Docs: https://github.com/fleetdm/fleet/pull/42190/changes

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

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually

## New Fleet configuration settings

- [x] Setting(s) is/are explicitly excluded from GitOps

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

## Summary by CodeRabbit

* **New Features**
* Added the `FLEET_MDM_CERTIFICATE_PROFILES_LIMIT` configuration option
to control the number of certificate authority (CA) profiles installed
during each Apple MDM profile reconciliation cycle. This new setting
enables administrators to throttle CA profile installations and manage
installation performance during normal reconciliation operations across
large-scale deployments. Set this value to 0 to disable throttling.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 09:04:55 -05:00
kilo-code-bot[bot] 351107cef4 Fix purple hover color on cancel upcoming activity icon (#42173)
UPDATE: @noahtalerman: For the following bug:
- https://github.com/fleetdm/fleet/issues/41862
2026-03-23 09:44:45 -04:00
kilo-code-bot[bot] 0373967314 Show .tar.gz as allowed file type on custom package upload screen (#42174)
UPDATE: @noahtalerman: For the following bug:
- https://github.com/fleetdm/fleet/issues/42078
2026-03-23 09:44:19 -04:00
salgattll ae269f8967 Add Flatcar Container Linux and CoreOS to recognized Linux platforms (#42186)
Resolves #42185

## Summary

- Added `flatcar` and `coreos` to `HostLinuxOSs` in
`server/fleet/hosts.go`
- Added both to `HostNeitherDebNorRpmPackageOSs` (neither distro uses
deb or rpm)
- Added both to `HOST_LINUX_PLATFORMS` in
`frontend/interfaces/platform.ts`
- Added test cases in `server/fleet/hosts_test.go`
- Updated platform lists in
`docs/Contributing/product-groups/orchestration/understanding-host-vitals.md`
- Added changelog entry

## Problem

Flatcar Container Linux reports `platform=flatcar` and
`platform_like=coreos` via osquery's `os_version` table. Neither value
is in `HostLinuxOSs`, so `PlatformFromHost("flatcar")` returns `""` and
`RunsForPlatform` skips all Linux-platform-filtered detail queries.

**Symptoms:** Flatcar hosts enroll successfully, appear online, and
respond to live queries. But host details (private IP, disk space, etc.)
are never populated because the detail queries that collect this data
are never sent to the host.

## Context

Flatcar Container Linux is an immutable, container-optimized Linux
distribution (successor to CoreOS Container Linux). We deploy Fleet's
Orbit agent on Flatcar via systemd-sysext and have confirmed that all
osquery tables work correctly — the only gap was this platform string
not being recognized.

This follows the same pattern as prior platform additions: #19011
(tuxedo), #28977 (neon), #34357 (manjaro-arm).

## Changes file

- [x] Changes file added in `changes/`

## Checklist

- [x] Added/updated automated tests
- [x] Manual QA: Verified on Flatcar Container Linux 4459.2.4 with
osquery 5.21.0 and Orbit 1.53.0 — confirmed detail queries work after
patching `HostLinuxOSs` locally
- [x] No database migrations needed
- [x] No endpoint changes
- [x] No backward compatibility concerns (additive change only)
2026-03-23 10:33:48 -03:00
Nathanael Holliday eb35cd15cf Update 📜 Fleet Subscription Terms.md (#42102)
Updated online terms to reflect our enterprise terms. (eliminated refund
for termination for breach)
2026-03-23 11:44:27 +00:00
Noah Talerman dddf3ad3ad Update story template: Instructions for new tables (#42090)
Context:
https://fleetdm.slack.com/archives/C084F4MKYSJ/p1773887522983829?thread_ts=1773864328.625229&cid=C084F4MKYSJ
2026-03-23 11:15:24 +00:00
George Karr f71a206396 Fix formatting in CODEOWNERS file (#42111)
removing Ben from codeowners
2026-03-23 11:14:29 +00:00
Gabriel Hernandez afcf31f5ee fix flashing error message when turning off apple mdm (#42075)
**Related issue:** Resolves #38546

This fixes a quick error message flash on the mdm settings page when
apple mdm is turned off. We have a finally fixed an issue of stale data
on the integration page getting passed down to the mdm card when turning
apple mdm off. We now invalidate the cache of the config when apple mdm
is turned off, that way we make a request to get the most recent config
which will have the up to date data for `mdm.enabled_and_configured`.

# Checklist for submitter

- [x] QA'd all new/changed functionality manually
2026-03-23 09:55:18 +00:00
Allen Houchins a308b2f838 Update macOS 27 incompatible apps report (#42217)
Update macOS report SQL to return 'Never' for apps where
a.last_opened_time = -1 instead of converting -1 to a datetime. Adds a
CASE expression to show 'Never' or DATETIME(...), making the
last_opened_time column clearer for apps that were never opened.
2026-03-21 21:30:49 -05:00
Allen Houchins 25c221d5ce Add macOS 27 incompatible apps report (#42214)
Introduce a new report
lib/macos/reports/collect-macos-27-incompatible-apps.yml that queries
apps joined with Spotlight mdls to find Intel-only (x86_64 without
arm64) bundles. The report collects app name, path, bundle identifier,
version, architectures and last opened time, runs weekly (interval
604800), has snapshot logging and automations disabled. Also add the
report to the workstations.yml reports list so it runs for the macOS
workstation fleet.
2026-03-21 21:15:35 -05:00
fleet-releaseandmostlikelee eeef20a0c6 Update Fleet-maintained apps (#42209)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: mostlikelee <16102903+mostlikelee@users.noreply.github.com>
2026-03-21 13:31:43 -05:00
Ashish Kuthiala 24d6fa21f1 Update blue banner on home page (#42211)
Update jamf replacement messaging to be more direct
2026-03-21 11:34:28 -05:00
Victor Lyuboslavsky 241779cd67 Differentiate between Windows Server Core and full desktop installations (#42034) 2026-03-21 10:03:57 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 3cad27085f Fix sentence case violations on marketing handbook pages (#42208)
## Summary
- Fix sentence case violations in headings and table headers across
three marketing handbook pages: `fleet-social-proof.md`,
`marketing-assets.md`, and `socialmedia.md`
- Lowercased non-proper-noun words in headings (e.g., "Marketing Assets"
→ "Marketing assets", "Social Media" → "Social media", "Fleet Customer
Testimonials" → "Fleet customer testimonials")
- Applied consistent sentence case to sub-section headings with dash
separators (e.g., "Anonymous stories — Financial Services" → "Anonymous
stories — financial services")
- Corrected table header row in `socialmedia.md` ("Social Media
Platform" → "Social media platform")
- No changes to `event-execution.md` or `product-education.md` as they
already follow sentence case conventions

**Note:** Only headings (`#`, `##`, `###`) and table header rows were
modified. Body text, URLs, anchor links, and image paths were left
unchanged.

Built for [Ashish
Kuthiala](https://fleetdm.slack.com/archives/D0AG9JQ53GA/p1774074336792759)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-21 01:53:43 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 25455dfa80 Fix sentence case in marketing handbook pages and rename Marketing Assets slug (#42204)
## Summary

- Convert Title Case headings and bold labels to Fleet sentence case in
`handbook/marketing/digital-campaigns.md` (8 changes: headings like
"Paid Search Campaigns" → "Paid search campaigns", bold labels like
"Value Distribution" → "Value distribution")
- Convert Title Case headings to Fleet sentence case in
`handbook/marketing/marketing-assets.md` (26 changes across all section
headings, e.g. "Sales & Enablement" → "Sales & enablement", "Standalone
Articles" → "Standalone articles")
- Rename the page slug/title from "Marketing Assets New" to "Marketing
Assets" in the meta tag of `marketing-assets.md`
- No changes needed in `handbook/marketing/fleetchampions.md` — all
headings already follow sentence case

Only casing and the slug name were changed. No content meaning was
altered.

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1774047981857059)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-20 19:45:59 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 795f63b2ca Fix sentence case violations in event-execution handbook page (#42202)
## Summary
- Fixed 18 Fleet Sentence Case violations in
`handbook/marketing/event-execution.md`
- Changed incorrectly capitalized words in headings, subheadings, table
headers, and the page title meta tag to follow sentence case (only first
word and proper nouns capitalized)
- Preserved proper nouns (Fleet, GitHub, Salesforce, Eventbrite, Clay,
Lu.ma, DRI, etc.)
- No content changes — only casing fixes

### Changes include:
- `Current Events` → `Current events`
- `Event Name` (table header) → `Event name`
- `Event Process` → `Event process`
- `Phase 3 Event postgame` → `Phase 3 event postgame`
- `Hex Code` → `Hex code`, `(When to use it)` → `(when to use it)`
- `Event Template Process and Script` → `Event template process and
script`
- `Connecting Eventbrite Registrations to Salesforce Campaigns (Event ID
Key)` → `Connecting Eventbrite registrations to Salesforce campaigns
(event ID key)`
- `Core Idea` → `Core idea`
- `Why This Approach` → `Why this approach`
- `Data Model (Salesforce)` → `Data model (Salesforce)`
- `Campaign Fields` → `Campaign fields`
- `Operational Workflow` → `Operational workflow`
- `Assumptions / Scope` → `Assumptions / scope`
- `Governance & Quality Controls` → `Governance & quality controls`
- `(FUTURE) Extending This to Lu.ma (Future)` → `(FUTURE) Extending this
to Lu.ma (future)`
- `Capture the Eventbrite Event ID` → `Capture the Eventbrite event ID`
- `Integration Logic (Clay)` → `Integration logic (Clay)`
- Meta title `Marketing Event Execution` → `Marketing event execution`

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1774045647140139)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-20 17:38:53 -05:00
kilo-code-bot[bot]andkiloconnect[bot] 4abdd56130 Fix sentence case violations in marketing-ops handbook page (#42201)
## Summary

- Fixed 5 Fleet Sentence Case violations in
`handbook/marketing/marketing-ops.md`
- Only casing changes — no content modifications

### Changes made

| Line | Before | After |
|------|--------|-------|
| Heading | `## SFDC Campaign Hierarchy` | `## SFDC campaign hierarchy`
|
| Bold text | `**Key Objectives:**` | `**Key objectives:**` |
| Bold text | `**Social Integration:**` | `**Social integration:**` |
| Heading | `#### Website Chat (Qualified)` | `#### Website chat
(qualified)` |
| Meta title | `🫧 Marketing Ops` | `🫧 Marketing ops` |

Built for [John
Jeremiah](https://fleetdm.slack.com/archives/D0AGMBRKRR9/p1774045647140139)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-20 17:35:06 -05:00
Eric 89cf234d4c Website: Update variable set in routes (#42196)
Changes:
- Updated the website layout to only disable the qualified chatbot
script on the /remediate, /turn-on-mdm, and
/okta-conditional-access-error
- Renamed the `disableAnalyticsScriptsAndIndexing` variable to
`disableChatbotAndIndexing`
2026-03-20 17:34:06 -05:00
Scott Gress 91362ba2ca Add fleetctl new command (#41909)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41345 

# Details

This PR:

* Adds a new `fleetctl new` command which creates a starter GitOps repo
file structure
* Adds support for file globs for the `configuration_profiles:` key in
GitOps, to support its use in the `fleetctl new` templates. This
involved moving the `BaseItem` type and `SupportsFileInclude` interface
into the `fleet` package so that the `MDMProfileSpec` type could
implement the interface and do glob expansion.

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

## Testing

- [X] Added/updated automated tests
  - [X] added unit and intg tests for globbing profiles
  - [ ] added tests for `fleetctl new`
- [X] QA'd all new/changed functionality manually
- [X] `fleetctl new` with no args prompted for org name and created a
new `it-and-security` folder under current folder w/ correct files
- [X] `fleetctl new --dir /tmp/testnew` created correct files under
`/tmp/testnew`
- [X] `fleetctl new --dir /tmp/testexisting --force` with an existing
`/tmp/testexisting` folder created correct files under
`/tmp/testexisting`
- [X] `fleetctl new --org-name=foo` created correct files under
`it-and-security` without prompting for org name
- [X] `paths:` in `configuration_profiles` picks up multiple matching
profiles
- [X] `paths:` + `path:` in `configuration_profiles` will error if the
same profile is picked up twice


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

## Summary by CodeRabbit

* **New Features**
* Added `fleetctl new` command to initialize GitOps repository structure
via CLI.
* Added glob pattern support for `configuration_profiles` field,
enabling flexible profile selection.

* **Chores**
  * Updated CLI dependencies to support enhanced user interactions.
  * Removed legacy website generator configuration files.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-20 17:27:27 -05:00
Ashish Kuthiala 8154fa9c57 New marketing handbook page (#42198)
Separated customer stories to a new handbook page
2026-03-20 17:22:12 -05:00
Michael Buck e2e5c1bf78 updated Q4 MacSysAdmin event with location (#42192) 2026-03-20 16:58:32 -05:00
Victor Lyuboslavsky 57b7482dd6 Turn off Claude commit/PR attribution. (#42195)
Disable commit/PR messages containing: `Co-Authored-By: Claude Opus 4.6`
2026-03-20 16:43:38 -05:00
Jahziel Villasana-Espinoza 2e5d626988 SHAA: hosts summary and hosts filtering (#42149)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #40795 

# 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), JS
inline code is prevented especially for url redirects, and untrusted
data interpolated into shell scripts/commands is validated against shell
metacharacters.

## Testing

- [x] Added/updated automated tests
- [x] Where appropriate, [automated tests simulate multiple hosts and
test for host
isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing)
(updates to one hosts's records do not affect another)

- [x] QA'd all new/changed functionality manually
2026-03-20 16:26:14 -04:00
Carlo 04980e8a5b Improve VPP errors for large install failures (#41997)
Fixes #39066
2026-03-20 15:37:42 -04:00
111bb4692e Bump MySQL test version from 8.0.39 to 8.0.42 (#42122)
Updates MySQL version references from 8.0.39 to 8.0.42 in GitHub Actions
workflow test matrices to match current Aurora version as of #42120.

---------

Co-authored-by: anthropic-code-agent[bot] <242468646+Claude@users.noreply.github.com>
Co-authored-by: iansltx <472804+iansltx@users.noreply.github.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2026-03-20 14:24:29 -05:00
Isabell Reedy 89969c1eed Update receive-from-github.js (#42181) 2026-03-20 19:00:57 +00:00
kilo-code-bot[bot]andkiloconnect[bot] da7a789cae Remove Brock Walters from marketing team pages (#42183)
## Summary

- Removes Brock Walters (Product Education Manager) from the marketing
team table in `handbook/marketing/README.md`
- Removes Brock Walters' row from the marketing responsibilities table
in `handbook/marketing/marketing-responsibilities.md`

No other content was modified.

Built for [Isabell
Reedy](https://fleetdm.slack.com/archives/D0AEGJCGJR0/p1774032215052769)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
2026-03-20 18:58:43 +00:00
kitzy efa9cf9bdf Add script to sync Jamf user assignments to Fleet device mapping (#42177)
Adds `docs/solutions/api-scripts/sync_jamf_users_to_fleet.py`, a Python
script that:

- Scrapes every computer in Jamf Pro via the Classic API
(`/JSSResource/computers/subset/basic`)
- Pulls the assigned user's email (falls back to username if no email is
set)
- Matches each device to a Fleet host by serial number
- Assigns that user to the host in Fleet via `PUT
/api/v1/fleet/hosts/:id/device_mapping`

Features:
- Supports both OAuth 2.0 client credentials and username/password auth
for Jamf
- `--dry-run` flag to preview changes without modifying Fleet
- Summary statistics on completion (assigned, skipped, errors)

Resolves fleetdm/confidential#14972
2026-03-20 14:54:45 -04:00
github-actions[bot]andlucasmrod 68ec1f09ae Update versions of fleetd components in Fleet's TUF [automated] (#42176)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2026-03-20 15:09:51 -03:00
Mike McNeil 4be1974f6c Microsoft store support coming sooner than expected (#42171) 2026-03-20 11:49:56 -05:00
Ashish Kuthiala 8e731c0bfb Change footer message (#42169)
Change Deploy anywhere from Reduce agent sprawl to align with one agent
messaging
2026-03-20 11:44:28 -05:00
262234f5ac Fix fleetdm.com RSS feed to pass W3C Feed Validator (#42068)
## Summary

Fixes all errors and warnings reported by the [W3C Feed Validation
Service](https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Ffleetdm.com%2Frss%2Farticles)
for the `/rss/articles` endpoint (and all other `/rss/:categoryName`
endpoints).

## Changes

Only one file modified: `website/api/controllers/download-rss-feed.js`

### Errors fixed
- **`lastBuildDate` not RFC-822 format**: Changed from `new
Date(Date.now())` (which produces JS `toString()` format like `Thu Mar
19 2026 14:45:30 GMT+0000 (Coordinated Universal Time)`) to `new
Date().toUTCString()` (which produces RFC-822 format like `Thu, 19 Mar
2026 14:45:30 GMT`)
- **`pubDate` not RFC-822 format** (431 occurrences): Changed from
`.toJSON()` (ISO 8601) to `.toUTCString()` (RFC-822)
- **Missing channel `<link>` element**: Added `<link>` element at the
channel level pointing to the category page

### Warnings fixed
- **Missing `guid` on items** (431 occurrences): Added `<guid
isPermaLink="true">` to each item using the article's permalink URL
- **Missing `atom:link` with `rel="self"`**: Added `xmlns:atom`
namespace to the `<rss>` element and an `<atom:link href="..."
rel="self" type="application/rss+xml"/>` element in the channel

### Additional fix
- Fixed a minor bug where the image `<link>` URL was missing a `/`
separator between the domain and category name (`fleetdm.comarticles` →
`fleetdm.com/articles`)

### Not addressed
- The "Invalid HTML: Named entity expected" warning about `&#39;`
entities in descriptions. This is produced by Lodash's `_.escape()`
which correctly escapes apostrophes for XML content. The `&#39;` entity
is valid XML — the validator flags it only in an HTML parsing context,
and it does not affect feed validity or reader interoperability.

---

Built for [Brock
Walters](https://fleetdm.slack.com/archives/C097P4TAPRR/p1773932018039599)
by [Kilo for Slack](https://kilo.ai/features/slack-integration)

---------

Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2026-03-20 11:42:26 -05:00
Konstantin Sykulev 6ed3ba6801 Added OTEL DB stats metrics, renamed trace attributes to expected OTEL names (#42097)
1. Added DB metrics via otelsql.RegisterDBStatsMetrics()
`db.sql.connection.open`
`db.sql.connection.max_open`
`db.sql.connection.wait`
`db.sql.connection.wait_duration`
`db.sql.connection.closed_max_idle`
`db.sql.connection.closed_max_idle_time`
`db.sql.latency.*`
2. renamed these metrics to signoz convention/expected names
`db.sql.connection.open` -> `db.client.connection.usage`
`db.sql.connection.max_open` -> `db.client.connection.max`
`db.sql.connection.wait` -> `db.client.connection.wait_count`
`db.sql.connection.wait_duration` -> `db.client.connection.wait_time`
`db.sql.connection.closed_max_idle` -> `db.client.connection.idle.max`
`db.sql.connection.closed_max_idle_time` ->
`db.client.connection.idle.min`
3. created custom dashboard to display these metrics, (import via json)
<img width="1580" height="906" alt="Screenshot 2026-03-19 at 2 44 43 PM"
src="https://github.com/user-attachments/assets/f1b64ed6-e534-4490-8955-bc1205dd21d4"
/>
4. Fixed metrics for service db dashboards
Signoz expects

`db.system` : Identifies the database type (e.g., postgresql, mysql,
mongodb).
`db.statement` : The actual query being executed (e.g., SELECT * FROM
users).
`db.operation` : The type of operation (e.g., SELECT, INSERT).
`service.name` : The name of the service making the call.

We needed to set the `db.system` attribute explicitly.

`db.operation` is missing because otelsql doesn't capture this by
default. Decided not to add this for now as the dashboards work without.
Can be a future enhancement.

<img width="1563" height="487" alt="Screenshot 2026-03-19 at 2 45 18 PM"
src="https://github.com/user-attachments/assets/51028e16-ee2c-45a9-9025-26f17b0db67a"
/>


# Checklist for submitter

## Testing
- [x] QA'd all new/changed functionality manually

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* Added a new observability dashboard for database and connection
performance metrics, including RPS, latency, connection pool saturation,
and queue statistics.
* Enhanced database metrics collection with automatic registration of
connection and query performance indicators.
* Standardized OpenTelemetry metric naming to align with industry
conventions for improved observability compatibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-20 11:07:58 -05:00
Scott GressandCopilot Autofix powered by AI 40e91c0ece Allow hosts key to be empty for manual labels (#42022)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41672 

# Details

Updates GitOps label functionality so that omitting the `hosts:` key
under a manual label will _not_ clear hosts from that label, but will
instead preserve the existing membership. This allows users to manage
manual hosts with an external system (via the labels API), while still
managing the labels themselves in GitOps.

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

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
  - [X] verified that you can still add a manual label with `hosts:`
- [X] verified that leaving `hosts:` off a manual label doesn't change
the host assignment
- [X] verified that putting `hosts:` with no value on a manual label
clears the hosts
  - [X] verified that you can still add a dynamic label
  - [X] verified that generate-gitops still exports manual hosts

---------

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-03-20 10:36:14 -05:00
Victor Lyuboslavsky 6d6a29a089 Fixed Admin By Request false positive CVEs (#42095)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41586

The fix is speculative since I wasn't able to find/get the "Admin By
Request" app to install.

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

## Testing

- [x] Added/updated automated tests

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

## Summary by CodeRabbit

* **Bug Fixes**
* Fixed false-positive vulnerability reports for "Admin By Request" on
macOS and Linux. Vulnerabilities CVE-2019-17201 and CVE-2019-17202 are
Windows-specific and will now only be reported on Windows systems,
eliminating unnecessary alerts on other platforms.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-03-20 10:35:56 -05:00
Scott Gress f093406e04 Fix get/create/update query response (#41966)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->
**Related issue:** Resolves #41603 

# Details

Fixes an issue where the nested `query` key in the get, create and
update query API responses, which is the literal SQL query, was getting
duplicated into a `report` key with the SQL. This was happening because
our JSON field duplicator which adds the renamed version of deprecated
keys to responses is intentionally naive; it doesn't account for cases
where the parent and child structs have the same key with different
meanings because that is... not ideal. In Fleet 5 we won't have this
problem since it'll just be `report.query`, but for now the solution is
to just hard-code a `Report` field onto the response structs, rather
than over-complicate the duplicator code to account for different
nesting levels.

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

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
- [X] verified no `query.report` or `report.report` present in get query
response
- [X] verified no `query.report` or `report.report` present in create
query response
- [X] verified no `query.report` or `report.report` present in modify
query response
2026-03-20 10:30:52 -05:00
Brock Walters 3c73610d4e Update why-enterprise-linux-is-important-in-2026.md (#42132)
links for article 6.
2026-03-20 10:24:51 -05:00
Brock Walters d549fb7798 Update automated-provisioning-for-Linux-desktop-in-the-enterprise.md (#42133)
links for article 6.
2026-03-20 10:24:29 -05:00
Brock Walters 00b9cf3cac Update security-baselines-for-linux.md (#42134)
links for article 6.
2026-03-20 10:22:52 -05:00
Brock Walters d2709fcb4c Update unlocking-linux-productivity-securing-apps-and-updating-certif… (#42135)
links for article 6.
2026-03-20 10:22:23 -05:00
Brock Walters ba1be05979 Update protecting-the-linux-device-remote-wipe-usb-sudo.md (#42136)
links for article 6.
2026-03-20 10:21:38 -05:00
Eric 7eb07b4d87 Website: Update accepted contactSource values in CRM helpers. (#41808)
Changes:
- Updated the accepted `contactSource` values in the
updateOrCreateContactAndAccount and
updateOrCreateContactAndAccountAndCreateLead helpers
2026-03-20 10:06:31 -05:00
Victor Lyuboslavsky 25e7d326e8 Update actions/setup-go to v6.3.0 (#42152)
Updating actions/setup-go to v6.3.0 from a mix of different versions.

This gets us faster CI runs, with improvements such as:
- built in Go module cache AND Go build cache (separate cache no longer
needed)
- using go.mod resulting in fewer cache invalidations
- faster Node 24 runtime
- using go.dev download URL, which is more reliable
2026-03-20 09:56:51 -05:00
Dante Catalfamo 6bf3014889 Make certificate list scrollable (#41891)
<!-- Add the related story/sub-task/bug number, like Resolves #123, or
remove if NA -->

Resolves #39014

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

## Testing

- [x] QA'd all new/changed functionality manually

<img width="1080" height="2400" alt="image"
src="https://github.com/user-attachments/assets/2ab7c440-9e0b-4676-b024-a8e2fbe934f1"
/>
<img width="1080" height="2400" alt="image"
src="https://github.com/user-attachments/assets/1b3284b3-43f2-4a0f-9609-dc20f6745518"
/>
2026-03-20 10:43:57 -04:00
Noah Talerman 82f096df55 Update and rename wifi_network.yml to macadmins_wifi_network.yml (#42091) 2026-03-20 10:08:19 -04:00