Commit Graph
15153 Commits
Author SHA1 Message Date
Dante Catalfamo 3a2a689796 Don't expire iOS devices prematurely (#25436)
#25406 

The `last_seen_times` table is only updates when osquery hits one of its
authenticated endpoints, meaning it isn't updated when devices without
osquery, like iphones, are enrolled. I've left a
[comment](https://github.com/fleetdm/fleet/issues/25406#issuecomment-2590637318)
on the original issue explaining how this happens. Originally, if there
was no `last_seen_time`, the fallback value would be the `created_at`
value on the `hosts` table, so ios devices would always get deleted once
they were added X number of days ago.

In its place, I've added the `detail_updated_at` column on the `hosts`
table as the fallback value, and only use `created_at` if that is also
empty. `detail_updated_at` is updated every time a full detail refetch
completes. In the case of ios/ipados, [this is done using
MDM](https://github.com/fleetdm/fleet/blob/cd5c0e8aed10664458f597b5d9600dd20bf3fdac/server/service/apple_mdm.go#L3101).
`detail_updated_at` is updated less frequently than `last_seen_times`,
only once every hour or so instead of every 30 seconds, but since
expiration policies are set on the scale of days instead of hours, this
should be fine.

The way I've QA'd this is by adding an iOS device to my fleet instance,
waited 24 hours, and set the expiration policy to 24 hours.
2025-01-16 10:13:22 -05:00
Dante Catalfamo d3ea62a8ce Address double json-unmarshal in note (#25454)
#24390

Add a comment to provide context on why it's done this way, and a
suggestion to revisit it once the new `json/v2` is released
2025-01-16 10:08:52 -05:00
RachelElysia 51fecdd91e Fleet UI: Platform of policy mismatch current selected software unrelease bug fix (#25489) 2025-01-15 18:07:46 -08:00
Mike McNeil c84d535347 Capitalization: Update app-library.ejs (#25482) 2025-01-15 16:26:36 -08:00
Allen Houchins 11ac949c7e Fix lock-screen-message.mobileconfig (#25443)
Quick fix now that we have an iPhone fully enrolled in Dogfood.
2025-01-15 17:27:14 -06:00
Rachael Shaw 5d1839af19 Handbook: Update note about sentence case + step numbers (#25415)
Discussed w/ @noahtalerman, concluded that capitalization makes sense in
this case.
2025-01-15 17:11:31 -06:00
Eric cefabf9954 Website: update contact form @mentions (#25475)
Closes: https://github.com/fleetdm/confidential/issues/9361

Changes:
- Updated the Slack users who are @mentioned when users submit a contact
form message.
2025-01-15 17:01:29 -06:00
Eric bf182bed3e Website: update query generator to use socket requests. (#25472)
Closes: #25465 

Changes:
- Updated the query generator page to use socket requests to call the
`get-llm-generated-sql` action to bypass Heroku's 30-second request
timeout.
2025-01-15 16:31:37 -06:00
Ian Littman f5c3cfc6c7 Include notes on when automations won't run for a given host in software and script automation UIs (#25453)
For #25452.

- [x] Manual QA for all new/changed functionality
2025-01-15 16:24:10 -06:00
Lucas Manuel Rodriguez 70096e86ac Changes for migration TUF QA (#25468) 2025-01-15 18:36:53 -03:00
Noah Talerman 498ddca753 API reference: clarify 10k character limit for arbitrary scripts (#25470) 2025-01-15 15:14:29 -06:00
Noah Talerman d5626acc6c Dogfood hiding secrets added via YAML (#25384) 2025-01-15 13:40:39 -06:00
Luke Heath bcb5a7da56 Simpler sync command (#25469) 2025-01-15 13:34:51 -06:00
Fred Dubois 239db41d16 fix: properly indent service annotations (#25388)
When then was more than 1 annotation on the service, it would not be
properly indented.

```
$ cat test-values.yaml 
serviceAnnotations:
  foo: bar
  bar: baz
  baz: qux
$ helm template fleet . -f test-values.yaml --show-only templates/service.yaml
---
# Source: fleet/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: fleet
    chart: fleet
    heritage: Helm
    release: fleet
  annotations:
    bar: baz
    baz: qux
    foo: bar
  name: fleet-service
  namespace: fleet
spec:
  selector:
    app: fleet
    chart: fleet
    heritage: Helm
    release: fleet
  ports:
  - name: fleet
    port: 8080
    targetPort: 8080
```

before:

```
$ git checkout main
$ helm template fleet . -f test-values.yaml --show-only templates/service.yaml
---
# Source: fleet/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: fleet
    chart: fleet
    heritage: Helm
    release: fleet
  annotations:
    bar: baz
  baz: qux
  foo: bar
  name: fleet-service
  namespace: fleet
spec:
  selector:
    app: fleet
    chart: fleet
    heritage: Helm
    release: fleet
  ports:
  - name: fleet
    port: 8080
    targetPort: 8080
2025-01-15 11:02:57 -06:00
Dante CatalfamoandScott Gress 39466cb644 Use webhooks settings from gitops even when empty (#25347)
#24958

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
2025-01-15 11:31:48 -05:00
Allen HouchinsandDrew Baker 9b7165ee64 New article for Jamf Pro terminology (#25380)
Publishing a new article to help Jamf Pro admins better understand Fleet
terminology.

---------

Co-authored-by: Drew Baker <89049099+Drew-P-drawers@users.noreply.github.com>
2025-01-15 10:25:18 -06:00
Marko LisicaandNoah Talerman 6977ec9103 Automatically create policy - link change (#25404)
Change related to:

- #23344

<img width="1320" alt="Screenshot 2025-01-14 at 11 37 21"
src="https://github.com/user-attachments/assets/31d481f8-9778-4b16-b174-cdfd91456b05"
/>

Learn more should point to query templates:
<img width="1219" alt="Screenshot 2025-01-14 at 11 37 34"
src="https://github.com/user-attachments/assets/6472fa4b-df9b-4c43-a82d-8921decf4d20"
/>

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-01-15 13:26:08 +01:00
Allen Houchins 947055ff2b Added Google Chrome back to Windows (#25413)
Re-adding Google Chrome now that this bug has been fixed:
https://github.com/fleetdm/fleet/issues/24917
2025-01-14 21:10:12 -06:00
Eric ae99e87ed6 Website: update has-query-generator-access policy (#25442)
Changes:
- Updated the website's has-query-generator-access policy to allow super
admins to access the query generator page.
2025-01-14 19:40:53 -06:00
Eric 0e72c5daeb Website: Move query generator out of Admin section (#25301)
Changes:
- Updated the User model to have a new attribute: `canUseQueryGenerator`
a boolean attribute that will grant users access to the query generator
page on the website.
- Added a new policy: `has-query-generate-access`
- Moved the query generator page from the admin section of the website.

Note: before this change can be merged, the website's database will need
to be migrated to add the new column to the User table
2025-01-14 18:09:17 -06:00
Victor Lyuboslavsky b55f6cf119 Speculative fixes for flaky TestIntegrationsMDM tests. (#25409)
For #23256
For #23430

Recent randokiller (Stress Go Test) passed:
https://github.com/fleetdm/fleet/actions/runs/12775288098

Speculative fixes for several tests, including:
- `TestIntegrationsMDM/TestHostMDMProfilesExcludeLabels`
- `TestIntegrationsMDM/TestLockUnlockWipeMacOS`
2025-01-14 16:45:10 -06:00
Marko Lisica e38447c975 Explain variable escaping (#25410)
Related to:  #23238
2025-01-14 17:28:38 -05:00
Rebecca Cowart 3552104aa4 Update fleet-ai-assisted-policy-descriptions-and-resolutions.md (#25431)
Changed "usr-facing" to "user-facing"
2025-01-14 17:16:24 -05:00
George Karr a672ff8f1d Adding changes for Fleet v4.62.1 (#25417) 2025-01-14 15:19:54 -06:00
Lucas Manuel Rodriguez f1705280fe Add instructions to use ngrok for migration testing (#25420)
Adding some capabilities to test migration locally with ngrok. To test
HTTPS.
2025-01-14 17:25:05 -03:00
Rachael Shaw ca15cbe3bb Handbook: Indentation fix (#25421)
Fix bullet-point indentation
2025-01-14 15:02:14 -05:00
Ian Littman 4f0a2e2af9 Add VPP install automation in GitOps (#25400)
For #23531.

# Checklist for submitter

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

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

- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality
2025-01-14 12:52:39 -06:00
Eric d8897e0cca Msp dashboard: Improve speed of profile-related actions (#25221)
Related to: #25170

Changes:
- Updated the `view-profiles`, `get-profiles`, `edit-profile`, and
`upload-profile` actions to send requests to the connected Fleet
instances and process results simultaneously.


I tested these changes while connected to a Fleet instance running on
the same network as my device, here is what I saw:
- Loading the profiles page with four profiles assigned to 22 teams:
	- Current version: 3232ms
	- This PR: 699ms
- Uploading a configuration profile with custom label targets to 22
teams:
	- Current version: 5660ms
	- This PR: 865ms
- Editing a configuration profile that is assigned to 22 teams labels:
	- Current version: 6622ms
	- This PR: 1300ms
- Replacing an existing configuration profile assigned to 22 teams:
	- Current version: 6483ms
	- This PR: 1773ms
- Fetching up-to-date configuration profile information from the Fleet
instance after a change is made:
	- Current version: 2857ms
	- This PR: 736ms
2025-01-14 12:09:23 -06:00
Sam Pfluger bf13062402 Move contact form to Demand (#25419) 2025-01-14 12:08:06 -06:00
Rachael Shaw d76d33744a #25108: Update casing after step numbers (#25418)
+ Capitalize the 1st word of phrases that come after step numbers
+ Various other sentence-case fixes I noticed while I was in there
2025-01-14 12:03:45 -06:00
jacobshandlingandJacob Shandling 36cba79e19 UI - Ungate user form SSO field for non-admins, handle subtle UX bug (#25351)
_Merge only _after_ https://github.com/fleetdm/fleet/pull/25322_
## For #25319 

- Team admin can access SSO and 2FA options in user form when they are
enabled (see api response to right):

<img width="1799" alt="Screenshot 2025-01-10 at 1 36 10 PM"
src="https://github.com/user-attachments/assets/66bd5eea-dc1d-4e5b-85fc-b377520f337a"
/>

- [x] Changes file added for user-visible changes in `changes/`,
- [ ] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-14 09:54:02 -08:00
Jahziel Villasana-Espinoza e76c3638ff fix: do not remove VPP apps from team if not strictly necessary (#25411)
> For #25194

# Checklist for submitter

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

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality
2025-01-14 12:31:04 -05:00
Victor Lyuboslavsky 3665a7c494 Fixed issue with incorrect batch DDM update activity. (#25372)
For batch upload of Apple DDM profiles with `fleetctl gitops`, fixed
issue where activity feed was showing a change when profiles didn't
actually change.
For #25244

The root cause of the bug was using `NULLIF` instead of the correct
`IFNULL` MySQL command. (Seriously, who named these?).

Also, refactored
[batchSetMDMAppleDeclarations](https://github.com/fleetdm/fleet/blob/victor/25244-batchsetMDMprofile/server/datastore/mysql/apple_mdm.go#L4224)
method to speed up future changes/fixes.

# Checklist for submitter
- [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/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated automated tests -- Actually, fixed test that was
already failing
- [x] Manual QA for all new/changed functionality
2025-01-14 11:24:36 -06:00
RachelElysia 65da5adfa7 Fleet UI: Fix dropdowns and use newer react-select (#25374) 2025-01-14 09:08:46 -08:00
Sarah Gillespie d6eeaaa2f9 Hide dropdown filter in software card on "My device" page (#25371) 2025-01-14 10:45:00 -06:00
Marko Lisica 1a5f4e5b65 Update transparency.ejs (#25408)
Update software section on transparency page.

Related to: #22813
2025-01-14 10:57:13 -05:00
Lucas Manuel Rodriguez a46155c688 Update missing old URL (#25405)
Changing this to reduce confusion moving forward. It didn't cause any
issues because fleetd package always passes this flag to the configured
URL (so the default value is never used when running orbit in fleetd).

"tuf.fleetctl.com" in tooling will be modified (copied) soon.
2025-01-14 12:27:56 -03:00
RachelElysia 43628439d8 Fleet UI: VPP auto install software on failed policies, filter software compatible to policy's target platform, etc (#25202) 2025-01-13 16:45:16 -08:00
jacobshandlingandJacob Shandling 588ccd967a UI – remove TODO that is now TODONE (#25399)
## For [this
follow-up](https://github.com/fleetdm/fleet/pull/25383/files#r1913801033)

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-13 16:27:20 -08:00
RachelElysia ffb8098f5a Fleet UI: (Unreleased) fix logic with versions in left header, update css (#25370) 2025-01-13 16:03:56 -08:00
Noah Talerman b902509e3a Fleetctl guide: logging in with SSO (#25344)
Add 4th step to let users know they're ready to go
2025-01-13 17:55:46 -05:00
jacobshandlingandJacob Shandling 7b1fa550ac UI – Exclude self-service URL path from DUP when not a valid option for the host (#25383)
## For #24421

- Filter out self-service path in this case
- Remove a number of redundant states by having local variables depend
on useQuery's internal state


![ezgif-7-e252c26029](https://github.com/user-attachments/assets/ad1b2012-3604-4250-a227-d2f66a84bc86)

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-13 14:48:39 -08:00
jacobshandlingandJacob Shandling 8c4275a467 UI - Update validation pattern on SSO settings form (#25387)
## For #25264 


https://github.com/user-attachments/assets/031f3636-3c0e-4439-969d-716cb08b2449

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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-13 14:47:02 -08:00
Tim Lee 80f503ab6a Optimize vulnerability host counts (#24914) 2025-01-13 15:44:02 -07:00
Victor Lyuboslavsky d15d2e324e Speculative fix for flaky TestVPPApps. (#25385)
For #25086 
Speculative fix for flaky TestVPPApps (disable worker jobs). Ran 50
tests with randokiller and did not see a fail.
2025-01-13 16:28:48 -06:00
Luke Heath 4cca22384d Adding changes for Fleet v4.62.0 (#25092)
Ready for review.
2025-01-13 16:23:26 -06:00
Noah Talerman 6bc0bf92c9 Handbook typo (#25391)
Remove extra parentheses
2025-01-13 16:20:09 -06:00
Ian Littman f1949ac2bf Add VPP policy automation support to backend (#25154)
For #23529, #23530.

# Checklist for submitter

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

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

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [x] Added/updated automated tests
- [x] A detailed QA plan exists on the associated ticket (if it isn't
there, work with the product group's QA engineer to add it)
- [x] Manual QA for all new/changed functionality
2025-01-13 15:53:24 -06:00
Jahziel Villasana-Espinoza 6747f9cd5d fix: remove extra word (#25390)
> No issue, just something I noticed

# Checklist for submitter

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

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

- [x] Manual QA for all new/changed functionality
2025-01-13 16:52:31 -05:00
Brock Walters e80034e5e4 Update discovering-chrome-ai-using-fleet.md (#25231)
Stripping away the cruft...
2025-01-13 10:18:15 -05:00