From d4c0834cba8a5a0700206d314aef24f476ac5a39 Mon Sep 17 00:00:00 2001 From: Lucas Manuel Rodriguez Date: Mon, 27 Apr 2026 14:52:27 -0300 Subject: [PATCH] =?UTF-8?q?Bump=20macadmins/osquery-extension=20to=20v1.4.?= =?UTF-8?q?1=20and=20add=20network=5Fquality=20ta=E2=80=A6=20(#44214)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Related issue:** Resolves #44202. - [X] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. ## Testing - [X] QA'd all new/changed functionality manually ## fleetd/orbit/Fleet Desktop - [X] Verified compatibility 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] Verified that fleetd runs on macOS, Linux and Windows - [X] Verified auto-update works from the released version of component to the new version (see [tools/tuf/test](../tools/tuf/test/README.md)) ## Summary by CodeRabbit * **New Features** * Added network quality table for macOS to monitor download and upload speeds with results formatted in both kilobits and megabits per second (requires macOS 12+) * **Chores** * Updated MacAdmins osquery extension dependency to v1.4.1 --- frontend/interfaces/platform.ts | 2 +- go.mod | 2 +- go.sum | 4 +- .../44202-update-macadmins-osquery-extension | 2 + orbit/pkg/table/extension_darwin.go | 2 + schema/osquery_fleet_schema.json | 37 +++++++++++++++++++ schema/tables/network_quality.yml | 26 +++++++++++++ 7 files changed, 71 insertions(+), 4 deletions(-) create mode 100644 orbit/changes/44202-update-macadmins-osquery-extension create mode 100644 schema/tables/network_quality.yml diff --git a/frontend/interfaces/platform.ts b/frontend/interfaces/platform.ts index e33af1c82d..7283858381 100644 --- a/frontend/interfaces/platform.ts +++ b/frontend/interfaces/platform.ts @@ -80,7 +80,7 @@ export const MACADMINS_EXTENSION_TABLES: Record = { munki_info: ["darwin"], munki_install: ["darwin"], crowdstrike_falcon: ["darwin", "linux"], - // network_quality: ["darwin"], // TODO: add this table if/when it is incorporated into orbit + network_quality: ["darwin"], puppet_info: ["darwin", "linux", "windows"], puppet_logs: ["darwin", "linux", "windows"], puppet_state: ["darwin", "linux", "windows"], diff --git a/go.mod b/go.mod index 7f711c01c0..4a08ac9545 100644 --- a/go.mod +++ b/go.mod @@ -94,7 +94,7 @@ require ( github.com/klauspost/compress v1.18.4 github.com/kolide/launcher v1.0.12 github.com/lib/pq v1.10.9 - github.com/macadmins/osquery-extension v1.4.0 + github.com/macadmins/osquery-extension v1.4.1 github.com/manifoldco/promptui v0.9.0 github.com/mattn/go-sqlite3 v1.14.22 github.com/micromdm/micromdm v1.9.0 diff --git a/go.sum b/go.sum index 78a54b7ebd..ed7a7d3a2e 100644 --- a/go.sum +++ b/go.sum @@ -598,8 +598,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0 h1:6E+4a0GO5zZEnZ81pIr0yLvtUWk2if982qA3F3QD6H4= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= -github.com/macadmins/osquery-extension v1.4.0 h1:xsPxzg7uxF6V26PnActyPaJ9tEeTKb5dUkGV2hdg3Bg= -github.com/macadmins/osquery-extension v1.4.0/go.mod h1:/4WhG7sh9qyEi2WkacxOUJAmVciiDFmT468MbkiXBfE= +github.com/macadmins/osquery-extension v1.4.1 h1:qkyEIYVGw9vzMMLL+ARAXhB87zhqnrK74R5hRoR1pKs= +github.com/macadmins/osquery-extension v1.4.1/go.mod h1:Eq+JZKU8nXGenjxyM9CU+L0xoZtlKynNV0wwy6grjnc= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GWtQEhdbn6Pgg= diff --git a/orbit/changes/44202-update-macadmins-osquery-extension b/orbit/changes/44202-update-macadmins-osquery-extension new file mode 100644 index 0000000000..1730790ba5 --- /dev/null +++ b/orbit/changes/44202-update-macadmins-osquery-extension @@ -0,0 +1,2 @@ +* Added `network_quality` table from https://github.com/macadmins/osquery-extension to macOS. +* Bumped https://github.com/macadmins/osquery-extension to v1.4.1. diff --git a/orbit/pkg/table/extension_darwin.go b/orbit/pkg/table/extension_darwin.go index b4560b578e..737517444a 100644 --- a/orbit/pkg/table/extension_darwin.go +++ b/orbit/pkg/table/extension_darwin.go @@ -38,6 +38,7 @@ import ( "github.com/macadmins/osquery-extension/tables/macosrsr" "github.com/macadmins/osquery-extension/tables/mdm" "github.com/macadmins/osquery-extension/tables/munki" + "github.com/macadmins/osquery-extension/tables/networkquality" "github.com/macadmins/osquery-extension/tables/socpower" "github.com/macadmins/osquery-extension/tables/sofa" "github.com/macadmins/osquery-extension/tables/thermalthrottling" @@ -107,6 +108,7 @@ func PlatformTables(opts PluginOpts) ([]osquery.OsqueryPlugin, error) { ), table.NewPlugin("macos_thermal_pressure", thermalthrottling.ThermalPressureColumns(), thermalthrottling.ThermalPressureGenerate), table.NewPlugin("macos_soc_power", socpower.SocPowerColumns(), socpower.SocPowerGenerate), + table.NewPlugin("network_quality", networkquality.NetworkQualityColumns(), networkquality.NetworkQualityGenerate), filevault_status.TablePlugin(log.Logger), // table name is "filevault_status" ioreg.TablePlugin(log.Logger), // table name is "ioreg" diff --git a/schema/osquery_fleet_schema.json b/schema/osquery_fleet_schema.json index a08331276a..d67f85986d 100644 --- a/schema/osquery_fleet_schema.json +++ b/schema/osquery_fleet_schema.json @@ -18616,6 +18616,43 @@ "url": "https://fleetdm.com/tables/network_interfaces", "fleetRepoUrl": "https://github.com/fleetdm/fleet/blob/main/schema/tables/network_interfaces.yml" }, + { + "name": "network_quality", + "platforms": [ + "darwin" + ], + "description": "Output from the macOS `networkQuality` binary, reporting download and upload throughput.", + "columns": [ + { + "name": "dl_throughput_kbps", + "type": "integer", + "required": false, + "description": "Download throughput in kilobits per second, as reported by `networkQuality -c`." + }, + { + "name": "ul_throughput_kbps", + "type": "integer", + "required": false, + "description": "Upload throughput in kilobits per second, as reported by `networkQuality -c`." + }, + { + "name": "dl_throughput_mbps", + "type": "text", + "required": false, + "description": "Download throughput in megabits per second, formatted to two decimal places." + }, + { + "name": "ul_throughput_mbps", + "type": "text", + "required": false, + "description": "Upload throughput in megabits per second, formatted to two decimal places." + } + ], + "notes": "This table is not a core osquery table. It is included as part of Fleet's agent ([fleetd](https://fleetdm.com/docs/get-started/anatomy#fleetd)). This table is from the [Mac Admins osquery extension](https://github.com/macadmins/osquery-extension).\n\nThe `/usr/bin/networkQuality` binary is only available on macOS 12 (Monterey) and later. On hosts where the binary is not present, the table returns no rows.", + "evented": false, + "url": "https://fleetdm.com/tables/network_quality", + "fleetRepoUrl": "https://github.com/fleetdm/fleet/blob/main/schema/tables/network_quality.yml" + }, { "name": "nfs_shares", "description": "NFS shares exported by the host.", diff --git a/schema/tables/network_quality.yml b/schema/tables/network_quality.yml new file mode 100644 index 0000000000..d2de74dd6d --- /dev/null +++ b/schema/tables/network_quality.yml @@ -0,0 +1,26 @@ +name: network_quality +platforms: + - darwin +description: Output from the macOS `networkQuality` binary, reporting download and upload throughput. +columns: + - name: dl_throughput_kbps + type: integer + required: false + description: Download throughput in kilobits per second, as reported by `networkQuality -c`. + - name: ul_throughput_kbps + type: integer + required: false + description: Upload throughput in kilobits per second, as reported by `networkQuality -c`. + - name: dl_throughput_mbps + type: text + required: false + description: Download throughput in megabits per second, formatted to two decimal places. + - name: ul_throughput_mbps + type: text + required: false + description: Upload throughput in megabits per second, formatted to two decimal places. +notes: |- + This table is not a core osquery table. It is included as part of Fleet's agent ([fleetd](https://fleetdm.com/docs/get-started/anatomy#fleetd)). This table is from the [Mac Admins osquery extension](https://github.com/macadmins/osquery-extension). + + The `/usr/bin/networkQuality` binary is only available on macOS 12 (Monterey) and later. On hosts where the binary is not present, the table returns no rows. +evented: false