2020-10-09 17:10:33 +00:00
|
|
|
---
|
2016-11-15 18:06:33 +00:00
|
|
|
services:
|
2022-09-23 18:18:34 +00:00
|
|
|
# To test with MariaDB, set FLEET_MYSQL_IMAGE to mariadb:10.6 or the like (note MariaDB is not
|
|
|
|
|
# officially supported).
|
2022-06-29 17:38:23 +00:00
|
|
|
# To run in macOS M1, set FLEET_MYSQL_IMAGE=arm64v8/mysql:oracle FLEET_MYSQL_PLATFORM=linux/arm64/v8
|
2016-11-15 18:06:33 +00:00
|
|
|
mysql:
|
2026-03-04 18:25:20 +00:00
|
|
|
image: ${FLEET_MYSQL_IMAGE:-mysql:8.0.44}
|
2022-06-29 17:38:23 +00:00
|
|
|
platform: ${FLEET_MYSQL_PLATFORM:-linux/x86_64}
|
2017-02-17 17:15:10 +00:00
|
|
|
volumes:
|
2020-10-09 17:10:33 +00:00
|
|
|
- mysql-persistent-volume:/tmp
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
command: [
|
2021-10-21 10:46:02 +00:00
|
|
|
"mysqld",
|
|
|
|
|
"--datadir=/tmp/mysqldata",
|
|
|
|
|
# These 3 keys run MySQL with GTID consistency enforced to avoid issues with production deployments that use it.
|
|
|
|
|
"--enforce-gtid-consistency=ON",
|
|
|
|
|
"--log-bin=bin.log",
|
2022-10-05 22:53:54 +00:00
|
|
|
"--server-id=master-01",
|
2024-05-24 12:26:42 +00:00
|
|
|
# Required for storage of Apple MDM bootstrap packages.
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
"--max_allowed_packet=536870912",
|
2026-04-06 13:57:23 +00:00
|
|
|
# Automatically expire binary logs after 1 day to save disk space in dev. Default is 30 days.
|
|
|
|
|
"--binlog-expire-logs-seconds=86400",
|
2021-10-21 10:46:02 +00:00
|
|
|
]
|
2023-10-11 18:20:06 +00:00
|
|
|
environment: &mysql-default-environment
|
2017-02-17 17:15:10 +00:00
|
|
|
MYSQL_ROOT_PASSWORD: toor
|
2021-02-02 02:14:16 +00:00
|
|
|
MYSQL_DATABASE: fleet
|
|
|
|
|
MYSQL_USER: fleet
|
|
|
|
|
MYSQL_PASSWORD: insecure
|
2024-01-29 17:21:37 +00:00
|
|
|
# This is required by Percona XtraDB server.
|
|
|
|
|
CLUSTER_NAME: fleet
|
2017-02-17 17:15:10 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_MYSQL_PORT:-3306}:3306"
|
2017-02-17 17:15:10 +00:00
|
|
|
|
|
|
|
|
mysql_test:
|
2026-03-04 18:25:20 +00:00
|
|
|
image: ${FLEET_MYSQL_IMAGE:-mysql:8.0.44}
|
2022-06-29 17:38:23 +00:00
|
|
|
platform: ${FLEET_MYSQL_PLATFORM:-linux/x86_64}
|
2021-04-03 18:42:27 +00:00
|
|
|
# innodb-file-per-table=OFF gives ~20% speedup for test runs.
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
command: [
|
2021-10-21 10:46:02 +00:00
|
|
|
"mysqld",
|
|
|
|
|
"--datadir=/tmpfs",
|
|
|
|
|
"--slow_query_log=1",
|
|
|
|
|
"--log_output=TABLE",
|
|
|
|
|
"--log-queries-not-using-indexes",
|
|
|
|
|
"--innodb-file-per-table=OFF",
|
2023-10-11 18:20:06 +00:00
|
|
|
"--table-definition-cache=8192",
|
2021-10-21 10:46:02 +00:00
|
|
|
# These 3 keys run MySQL with GTID consistency enforced to avoid issues with production deployments that use it.
|
|
|
|
|
"--enforce-gtid-consistency=ON",
|
|
|
|
|
"--log-bin=bin.log",
|
2024-05-31 12:08:31 +00:00
|
|
|
"--server-id=1",
|
2024-05-24 12:26:42 +00:00
|
|
|
# Required for storage of Apple MDM bootstrap packages.
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
"--max_allowed_packet=536870912",
|
2026-04-06 13:57:23 +00:00
|
|
|
# Automatically expire binary logs after 1 day to save disk space in dev. Default is 30 days.
|
|
|
|
|
"--binlog-expire-logs-seconds=86400",
|
2021-10-21 10:46:02 +00:00
|
|
|
]
|
2020-10-09 17:10:33 +00:00
|
|
|
environment: *mysql-default-environment
|
2016-11-15 18:06:33 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_MYSQL_TEST_PORT:-3307}:3306"
|
2021-07-19 21:20:31 +00:00
|
|
|
tmpfs:
|
|
|
|
|
- /var/lib/mysql:rw,noexec,nosuid
|
|
|
|
|
- /tmpfs
|
2016-09-21 12:22:53 +00:00
|
|
|
|
2024-05-31 12:08:31 +00:00
|
|
|
mysql_replica_test:
|
2026-03-04 18:25:20 +00:00
|
|
|
image: ${FLEET_MYSQL_IMAGE:-mysql:8.0.44}
|
2024-05-31 12:08:31 +00:00
|
|
|
platform: ${FLEET_MYSQL_PLATFORM:-linux/x86_64}
|
|
|
|
|
# innodb-file-per-table=OFF gives ~20% speedup for test runs.
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
command: [
|
2024-05-31 12:08:31 +00:00
|
|
|
"mysqld",
|
|
|
|
|
"--datadir=/tmpfs",
|
|
|
|
|
"--slow_query_log=1",
|
|
|
|
|
"--log_output=TABLE",
|
|
|
|
|
"--log-queries-not-using-indexes",
|
|
|
|
|
"--innodb-file-per-table=OFF",
|
|
|
|
|
"--table-definition-cache=8192",
|
|
|
|
|
# These 3 keys run MySQL with GTID consistency enforced to avoid issues with production deployments that use it.
|
|
|
|
|
"--enforce-gtid-consistency=ON",
|
|
|
|
|
"--log-bin=bin.log",
|
|
|
|
|
"--server-id=2",
|
|
|
|
|
# Required for storage of Apple MDM bootstrap packages.
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
"--max_allowed_packet=536870912",
|
2026-04-06 13:57:23 +00:00
|
|
|
# Automatically expire binary logs after 1 day to save disk space in dev. Default is 30 days.
|
|
|
|
|
"--binlog-expire-logs-seconds=86400",
|
2024-05-31 12:08:31 +00:00
|
|
|
]
|
|
|
|
|
environment: *mysql-default-environment
|
|
|
|
|
ports:
|
|
|
|
|
# ports 3308 and 3309 are used by the main and replica MySQL containers in tools/mysql-replica-testing/docker-compose.yml
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_MYSQL_REPLICA_TEST_PORT:-3310}:3306"
|
2024-05-31 12:08:31 +00:00
|
|
|
tmpfs:
|
|
|
|
|
- /var/lib/mysql:rw,noexec,nosuid
|
|
|
|
|
- /tmpfs
|
|
|
|
|
|
2023-03-28 18:23:15 +00:00
|
|
|
# Unauthenticated SMTP server.
|
2016-11-15 18:06:33 +00:00
|
|
|
mailhog:
|
|
|
|
|
image: mailhog/mailhog:latest
|
|
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_MAILHOG_WEB_PORT:-8025}:8025"
|
|
|
|
|
- "127.0.0.1:${FLEET_MAILHOG_SMTP_PORT:-1025}:1025"
|
2016-10-31 22:51:19 +00:00
|
|
|
|
2023-03-28 18:23:15 +00:00
|
|
|
# SMTP server with Basic Authentication.
|
|
|
|
|
mailpit:
|
|
|
|
|
image: axllent/mailpit:latest
|
|
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_MAILPIT_WEB_PORT:-8026}:8025"
|
|
|
|
|
- "127.0.0.1:${FLEET_MAILPIT_SMTP_PORT:-1026}:1025"
|
2023-03-28 18:23:15 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./tools/mailpit/auth.txt:/auth.txt
|
iOS/iPadOS as platforms/labels (#20126)
#19963
- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#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 tests
- [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] Manual QA for all new/changed functionality
---
# API changes for dashboard UI changes
## Main dashboard page
`GET /api/latest/fleet/host_summary?low_disk_space=32` (see
`ios`/`ipados` platforms and `iOS`/`iPadOS` labels)
```json
{
"totals_hosts_count": 9,
"online_count": 0,
"offline_count": 9,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 2,
"low_disk_space_count": 3,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "darwin",
"hosts_count": 3
},
{
"platform": "ios",
"hosts_count": 1
},
{
"platform": "ipados",
"hosts_count": 1
},
{
"platform": "rhel",
"hosts_count": 1
},
{
"platform": "ubuntu",
"hosts_count": 1
},
{
"platform": "windows",
"hosts_count": 2
}
]
}
```
## After selecting a platform
`GET /api/latest/fleet/host_summary?platform=ios&low_disk_space=100`
(similar with `ipados`)
```json
{
"totals_hosts_count": 1,
"online_count": 0,
"offline_count": 1,
"mia_count": 0,
"missing_30_days_count": 0,
"new_count": 0,
"all_linux_count": 0,
"low_disk_space_count": 1,
"builtin_labels": [
{
"id": 1,
"name": "macOS 14+ (Sonoma+)",
"description": "macOS hosts with version 14 and above",
"label_type": "builtin"
},
{
"id": 7,
"name": "All Hosts",
"description": "All hosts which have enrolled in Fleet",
"label_type": "builtin"
},
{
"id": 8,
"name": "macOS",
"description": "All macOS hosts",
"label_type": "builtin"
},
{
"id": 9,
"name": "Ubuntu Linux",
"description": "All Ubuntu hosts",
"label_type": "builtin"
},
{
"id": 10,
"name": "CentOS Linux",
"description": "All CentOS hosts",
"label_type": "builtin"
},
{
"id": 11,
"name": "MS Windows",
"description": "All Windows hosts",
"label_type": "builtin"
},
{
"id": 12,
"name": "Red Hat Linux",
"description": "All Red Hat Enterprise Linux hosts",
"label_type": "builtin"
},
{
"id": 13,
"name": "All Linux",
"description": "All Linux distributions",
"label_type": "builtin"
},
{
"id": 14,
"name": "chrome",
"description": "All Chrome hosts",
"label_type": "builtin"
},
{
"id": 15,
"name": "iOS",
"description": "All iOS hosts",
"label_type": "builtin"
},
{
"id": 16,
"name": "iPadOS",
"description": "All iPadOS hosts",
"label_type": "builtin"
}
],
"platforms": [
{
"platform": "ios",
"hosts_count": 1
}
]
}
```
### To populate list of MDM solutions of a selected platform
`GET /api/latest/fleet/hosts/summary/mdm\?platform=ios` (similar with
`ipados`)
```json
{
"counts_updated_at": "2024-06-27T21:56:45Z",
"mobile_device_management_enrollment_status": {
"enrolled_manual_hosts_count": 0,
"enrolled_automated_hosts_count": 1,
"pending_hosts_count": 0,
"unenrolled_hosts_count": 0,
"hosts_count": 1
},
"mobile_device_management_solution": [
{
"id": 1,
"name": "Fleet",
"server_url": "https://lucas-fleet.ngrok.app/mdm/apple/mdm",
"hosts_count": 1
}
]
}
```
### To populate OS versions of a selected platform
`GET /api/latest/fleet/os_versions?platform=ipados` (similar with `ios`)
```json
{
"meta": {
"has_next_results": false,
"has_previous_results": false
},
"count": 1,
"counts_updated_at": "2024-06-27T21:36:12Z",
"os_versions": [
{
"os_version_id": 7,
"hosts_count": 1,
"name": "iPadOS 17.5.1",
"name_only": "iPadOS",
"version": "17.5.1",
"platform": "ipados",
"vulnerabilities": []
}
]
}
```
## Filtering hosts by the two new `iOS`/`iPadOS` labels
Works the same as with other labels.
2024-07-08 21:05:29 +00:00
|
|
|
command: ["--smtp-auth-file=/auth.txt", "--smtp-auth-allow-insecure=true"]
|
2023-03-28 18:23:15 +00:00
|
|
|
|
2023-11-21 18:48:21 +00:00
|
|
|
# SMTP server with TLS
|
|
|
|
|
smtp4dev_test:
|
|
|
|
|
image: rnwood/smtp4dev:v3
|
|
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_SMTP4DEV_WEB_PORT:-8028}:80"
|
|
|
|
|
- "127.0.0.1:${FLEET_SMTP4DEV_SMTP_PORT:-1027}:25"
|
2023-11-21 18:48:21 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./tools/smtp4dev:/certs
|
|
|
|
|
environment:
|
|
|
|
|
- ServerOptions__TlsMode=ImplicitTls
|
|
|
|
|
- ServerOptions__TlsCertificate=/certs/fleet.crt
|
|
|
|
|
- ServerOptions__TlsCertificatePrivateKey=/certs/fleet.key
|
|
|
|
|
|
2016-11-15 18:06:33 +00:00
|
|
|
redis:
|
2025-11-10 23:05:44 +00:00
|
|
|
image: redis:6
|
2016-11-15 18:06:33 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_REDIS_PORT:-6379}:6379"
|
2020-07-21 22:36:11 +00:00
|
|
|
|
2021-03-29 20:50:39 +00:00
|
|
|
saml_idp:
|
|
|
|
|
image: fleetdm/docker-idp:latest
|
2021-06-09 18:56:59 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./tools/saml/users.php:/var/www/simplesamlphp/config/authsources.php
|
2023-04-27 12:43:20 +00:00
|
|
|
- ./tools/saml/config.php:/var/www/simplesamlphp/metadata/saml20-sp-remote.php
|
2021-03-29 20:50:39 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_SAML_IDP_HTTP_PORT:-9080}:8080"
|
|
|
|
|
- "127.0.0.1:${FLEET_SAML_IDP_HTTPS_PORT:-9443}:8443"
|
2021-03-29 20:50:39 +00:00
|
|
|
|
2020-07-21 22:36:11 +00:00
|
|
|
# CAdvisor container allows monitoring other containers. Useful for
|
|
|
|
|
# development.
|
|
|
|
|
cadvisor:
|
2025-01-23 18:48:21 +00:00
|
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
2020-07-21 22:36:11 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_CADVISOR_PORT:-5678}:8080"
|
2020-07-21 22:36:11 +00:00
|
|
|
volumes:
|
2021-04-24 00:58:23 +00:00
|
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
2020-07-21 22:36:11 +00:00
|
|
|
- /sys:/sys:ro
|
|
|
|
|
- /var/lib/docker/:/var/lib/docker:ro
|
2020-10-09 17:10:33 +00:00
|
|
|
|
2020-11-13 03:06:56 +00:00
|
|
|
prometheus:
|
|
|
|
|
image: prom/prometheus:latest
|
|
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_PROMETHEUS_PORT:-9090}:9090"
|
2020-11-13 03:06:56 +00:00
|
|
|
volumes:
|
|
|
|
|
- ./tools/app/prometheus.yml:/etc/prometheus/prometheus.yml
|
|
|
|
|
|
2021-07-30 15:45:49 +00:00
|
|
|
# localstack to simulate AWS integrations like firehose & kinesis
|
|
|
|
|
# use http://localhost:4566 as the `--endpoint-url` argument in awscli
|
|
|
|
|
localstack:
|
2026-03-23 17:11:55 +00:00
|
|
|
image: localstack/localstack:4.5
|
2021-07-30 15:45:49 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_LOCALSTACK_PORT:-4566}:4566"
|
|
|
|
|
- "127.0.0.1:${FLEET_LOCALSTACK_LEGACY_PORT:-4571}:4571"
|
2021-07-30 15:45:49 +00:00
|
|
|
environment:
|
2025-09-09 21:56:35 +00:00
|
|
|
- SERVICES=firehose,kinesis,s3,iam,sts,secretsmanager
|
2021-07-30 15:45:49 +00:00
|
|
|
|
2025-12-10 16:03:48 +00:00
|
|
|
# s3 compatible object storage (file carving/software installers)
|
|
|
|
|
s3:
|
2026-03-12 00:17:48 +00:00
|
|
|
image: rustfs/rustfs:1.0.0-alpha.85
|
2021-10-12 19:32:06 +00:00
|
|
|
ports:
|
2026-03-23 17:30:23 +00:00
|
|
|
- "127.0.0.1:${FLEET_S3_PORT:-9000}:9000"
|
|
|
|
|
- "127.0.0.1:${FLEET_S3_CONSOLE_PORT:-9001}:9001"
|
2021-10-12 19:32:06 +00:00
|
|
|
environment:
|
2025-12-10 16:03:48 +00:00
|
|
|
- RUSTFS_ADDRESS=0.0.0.0:9000
|
|
|
|
|
- RUSTFS_CONSOLE_ADDRESS=0.0.0.0:9001
|
|
|
|
|
- RUSTFS_CONSOLE_ENABLE=true
|
|
|
|
|
- RUSTFS_ACCESS_KEY=locals3
|
|
|
|
|
- RUSTFS_SECRET_KEY=locals3
|
2021-10-12 19:32:06 +00:00
|
|
|
volumes:
|
2025-12-10 16:03:48 +00:00
|
|
|
- data-s3:/data:rw
|
2021-10-12 19:32:06 +00:00
|
|
|
|
2020-10-09 17:10:33 +00:00
|
|
|
volumes:
|
|
|
|
|
mysql-persistent-volume:
|
2025-12-10 16:03:48 +00:00
|
|
|
data-s3:
|