Commit Graph
12750 Commits
Author SHA1 Message Date
Sarah Gillespie 2425f98e92 Improve device user account creation during MDM IdP enrollment flow (#20162) 2024-07-10 14:48:23 -05:00
Eric 93b957d91b Website: Add unique classes to buttons in the continue.partial.ejs (#20323)
Related to: #20227

Changes
- Added unique classes to buttons in the site-wide CTA.
2024-07-10 14:43:50 -05:00
Luke Heath fcb9aec7e3 Fix software page typo (#20307) 2024-07-10 11:46:31 -07:00
Dante Catalfamo 325f5571af Handle UTC timezone in fleetd_logs (#20283) 2024-07-10 11:37:46 -04:00
Roberto Dip adc608ea6c add bundle_identifier to software titles responses (#20298)
final bit for #19144, doc changes will be made separately

# 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] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-10 12:25:10 -03:00
Victor Lyuboslavsky 303c0523a0 Ignore -1 hardware_serial (#20279)
#19789
When osquery returns a serial number of -1 (default value), we keep the
existing serial number in the database.

# 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://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-10 09:01:25 -05:00
Victor Lyuboslavsky 7bcd61a8bd Distributed lock and store calendar_events UUID as binary in MySQL (#20277)
#19352

Fix for code review comment:
https://github.com/fleetdm/fleet/pull/20156#discussion_r1668421504

Also includes changes from https://github.com/fleetdm/fleet/pull/20252

# 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] 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
2024-07-10 08:49:05 -05:00
Roberto Dip 886ab9098d Allow team_id=0 to signal "No Team" in os_versions (#20272)
for #20150

# 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://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-10 10:12:05 -03:00
Roberto Dip 7b20060350 cover edge case for alternative zoom installer (#20286)
Zoom offers two installers:

- Zoom for IT admins (already covered previously)
- "Regular" Zoom (covered here)

This tweaks the logic made as part of #19144 to ensure we cover both

# 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] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-10 08:05:09 -03:00
Eric e5188eaac6 Website: disable Mergefreeze related code in GH webhook (#20292)
Changes:
- Commented out code related to Mergefreeze in the receive-from-github
webhook.
2024-07-09 17:57:15 -05:00
Eric 670a8ef2a0 Website: Set leadSource on new contact records (#20285)
Closes: #20284

Changes:
- Updated the `update-or-create-contact-and-account` helper to set a
lead source on new contact records
- Updated `update-or-create-contact-and-account-and-create-lead` to to
pass in a lead source to the `update-or-create-contact-and-account`
helper
- Updated save-questionnaire-progress to set a lead source on newly
created contact records
2024-07-09 17:04:12 -05:00
dependabot[bot] 40bc8e8226 Bump ws from 8.16.0 to 8.17.1 in /ee/fleetd-chrome (#19814) 2024-07-09 14:58:55 -07:00
jacobshandling d54ac3a35b Add test for fleetctl query --hosts (#20276) 2024-07-09 14:13:09 -07:00
Luke Heath 12c3d76b24 Update go.mod (#20273)
Fixes code scanning warning: 

As of Go 1.21, toolchain versions [must use the 1.N.P
syntax](https://go.dev/doc/toolchain#version).

1.22 in tools/terraform/go.mod does not match this syntax and there is
no additional toolchain directive, which may cause some go commands to
fail.
2024-07-09 11:44:35 -07:00
JD b31256c57c Article: Sysadmin diaries: lost device (#20270)
Article: Sysadmin diaries: lost device
https://github.com/fleetdm/confidential/issues/6717
2024-07-09 11:03:58 -07:00
Tim Lee 383c59bbd6 Add retries to VM Auto Enroll Script (#20153) 2024-07-09 11:51:31 -06:00
Tim Lee 2ea369c093 Custom Vulnerability Matching (#20118) 2024-07-09 11:50:22 -06:00
Eric 4ff20de14d Handbook: Fix broken link in why-this-way.md (#20259)
Changes:
- Fixed a broken link on the why this way handbook page.
2024-07-09 12:37:21 -05:00
jacobshandlingandJacob Shandling ec11e3d1d0 fleetctl, API, copy updates around host identifiers (#20220)
## Addresses #19127 
![Screenshot 2024-07-08 at 4 49
33 PM](https://github.com/fleetdm/fleet/assets/61553566/b4704eb9-9707-4cbf-8959-ec67dde57103)
- Also replace all ocurrences of "comma separated" with
"comma-separated"

- [x] Changes file added for user-visible changes in `changes/`
- [x] `SELECT *` is avoided, SQL injection is prevented (using
placeholders for values in statements)
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-07-09 10:25:01 -07:00
Tim Lee 812140a760 Add createdAt to Vulnerability responses (#20019) 2024-07-09 11:09:16 -06:00
Tim Lee a3c44688c8 Get MDM Command Filters (#20154) 2024-07-09 11:06:06 -06:00
Lucas Manuel Rodriguez 2875a9dbb8 Fixes to fleetctl debug connection and TLS certs documentation (#20166)
#6085

- [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] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-09 14:04:23 -03:00
Roberto DipandMartin Angers e90b90d905 Match macOS software <-> titles using bundle identifier (#19969)
for #19144

# 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://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

---------

Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2024-07-09 13:43:21 -03:00
055145b7d3 API design: Software self-service (#20223)
API design for:
- #17587

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
2024-07-09 18:23:44 +02:00
Dante Catalfamo 0906f917c8 Only check for new hardware UUID on macos (#20258)
#20168
2024-07-09 12:22:11 -04:00
Drew Baker 543354540a Update workstations-canary.yml (#20267) 2024-07-09 11:16:42 -04:00
Noah TalermanandMichael Pinto 5490228d0c Update pricing-features-table.yml (#20208)
- Add `customer-deebradel` commit

---------

Co-authored-by: Michael Pinto <147431865+pintomi1989@users.noreply.github.com>
2024-07-09 10:55:43 -04:00
Victor Lyuboslavsky 4a09cd1ce8 Validate base-fleetd daily (#20196)
#19126
Validate base-fleetd daily

Workflow run: https://github.com/fleetdm/fleet/actions/runs/9781375393
2024-07-09 09:54:01 -05:00
Dante Catalfamo d55108200a Fix an issue created by another PR (#20226)
A previous PR updated this script to only run as root, but broke running
on github actions as they're not root.

This is cherry picked from my Linux ARM64 branch, which also fixes this
issue
2024-07-09 10:13:14 -04:00
Jahziel Villasana-EspinozaandGabriel Hernandez 57fa67c8c0 fix: filter by vulnerable software (#20241)
> Related issue: #20050

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

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2024-07-09 10:02:49 -04:00
Roberto Dip cc13d3ce98 combine osquery + mdm information for connected_to_fleet (#20230)
for #20057

# 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://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-09 10:48:33 -03:00
RachelElysia a5dc73b42a Frontend of iOS/iPadOS as platforms/labels (#20157) 2024-07-09 09:18:00 -04:00
RachelElysia a905204e1c Fleetctl: Add YAML validation error for apply command (#20254) 2024-07-09 09:14:25 -04:00
RachelElysia b221a6e95e Fleet UI: Update to consistent button styling (#20247) 2024-07-09 09:09:18 -04:00
Luke Heath d73446d1fe Set workstations to use DDM for macOS updates (#20178)
- On workstations, we dogfood the current recommended best practice:
https://fleetdm.com/docs/using-fleet/mdm-os-updates
- On workstations (canary), we dogfood using the calendar feature to run
managed OS updates.
2024-07-08 18:22:59 -04:00
jacobshandlingandJacob Shandling 20e1e4edfe Add hostname to calendar event (maintenance window) bodies (#20235)
## Addresses #19281 

<img width="825" alt="Screenshot 2024-07-05 at 10 47 25 AM"
src="https://github.com/fleetdm/fleet/assets/61553566/d50ad460-b358-48aa-8e93-2f6d09472d87">



- [x] Changes file added for user-visible changes in `changes/`,
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-07-08 14:25:49 -07:00
Lucas Manuel Rodriguez 28ca463d13 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 18:05:29 -03:00
Eric ed3417de9d Fix broken link in what-are-fleet-policies.md (#20260)
Changes:
- Fixed a broken link in the "What are Fleet policies?" article
2024-07-08 15:54:40 -05:00
Noah Talerman 2d2178655c Update GitOps reference docs (#20255)
- `fleetctl apply` is for backwards compatibility GitOps
- Remove link to contributor doc page
2024-07-08 16:20:12 -04:00
Noah Talerman c059b197c5 Update features.yml (#20256)
- Remove customer commit and date
2024-07-08 15:38:48 -04:00
Eric df9a27769a Fix broken link in GitOps docs (#20251)
Changes:
- Fixed a broken link on the GitOps documentation page
2024-07-08 13:52:18 -05:00
Eric c98ef33297 Website: update relative link modification (#20253)
Changes:
- Updated the build-static-content script to use clearer variable names
and to replace spaces in folders when modifying relative links to
documentation pages.
2024-07-08 11:59:39 -05:00
Eric caa27322fe Website: Disable lead creation from get started questionnaire submissions (#20250)
Changes:
 - Removed SF lead creation in the `save-questionnaire-progress` action.
2024-07-08 11:29:32 -05:00
Victor Lyuboslavsky df141cdfa4 Check for calendar updates after callbacks from Google (#20156)
#19352 

Video explaining code changes:
https://www.loom.com/share/370200a276b84aa388effd6ebd762e01?sid=038508c4-f3c2-40c0-baf6-6b6df682d1f0

In maintenance windows using Google Calendar, calendar event is now
recreated within 30 seconds if deleted or moved to the past.
- Added new endpoint for Google Calendar:
`/api/_version_/fleet/calendar/webhook/{event_uuid}`
- Added UUID to `calendar_events` table to make webhook lookup more
efficient
- webhook endpoint will only recreate event if needed -- it will not
fire webhook. Webhook is still done by the cron job.

# 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://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
  - For Orbit and Fleet Desktop changes:
2024-07-08 10:20:03 -05:00
Eric 61e34775d5 Website: Update build-static-content script to treat trust.fleetdm.com links as external links (#20180)
Closes: https://github.com/fleetdm/confidential/issues/7186

Changes:
- Updated the build-static-content script to treat trust.fleetdm.com
links as external links.
2024-07-05 17:16:18 -05:00
Mike ThomasandEric 80b188951d Website update mdm tooltip (#20222)
Added a tooltip to the "Complete device state" feature.

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2024-07-05 15:47:55 -05:00
Robert Fairburn 3972c8a004 Update ref architecture + pricing to reflect terraform module (#20234) 2024-07-05 14:28:33 -05:00
Nathanael HollidayandSam Pfluger 29f00d7723 Add "Send an NDA to a customer" section to handbook. (#19890)
Added a section in the sales page about how to go about sending Fleet's
NDA out after it was brought to our attention no section existed.

---------

Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2024-07-05 12:05:18 -05:00
Luke Heath 9dbb514549 Update link to office hours event (#20165) 2024-07-05 11:18:08 -05:00
Dante Catalfamo 31880442c9 Disable cached logins and reboot on Windows lock (#20224)
#20080
2024-07-04 13:53:59 -04:00