Commit graph

27 commits

Author SHA1 Message Date
Allen Houchins
cc6b995e22
Add automated Safari policy update and remediation (#35890)
This pull request introduces automation for keeping the Fleet macOS
Safari update policy current, along with a new script for updating
Safari on endpoints. The main changes include a new GitHub Actions
workflow step to run an automated script that checks for the latest
Safari versions, updates the policy YAML if needed, and creates a pull
request with the changes. Additionally, a new endpoint script is added
to perform Safari updates via `softwareupdate`.

**Automation for Safari Policy Updates:**

* Added `.github/scripts/dogfood-policy-updater-latest-safari.sh`, a
script that fetches the latest Safari versions from the SOFA feed,
compares them to the versions in `update-safari.yml`, updates the YAML
if necessary, and automatically creates a pull request with reviewers
assigned.
* Updated `.github/workflows/dogfood-automated-policy-updates.yml` to
add a step that runs the new Safari version update script as part of the
workflow, using the required automation secrets.

**Policy and Endpoint Script Enhancements:**

* Added a new policy to
`it-and-security/lib/macos/policies/update-safari.yml` that checks if
the installed Safari version matches the latest for macOS 15 (Safari
18.6) and macOS 26 (Safari 26.1).
* Introduced `it-and-security/lib/macos/scripts/update-safari.sh`, a
script for endpoints that runs `softwareupdate` with the `--safari-only`
flag, logging the outcome and requiring root privileges.
2026-01-08 11:00:31 -06:00
Allen Houchins
8f86ee2942
Update migrate-slack-preferences.sh (#36850)
- Script was exit 1 when no user home directories were found when it
should have been exit 0.
2025-12-07 21:28:35 -06:00
Allen Houchins
7a9f274461
Switch to using Slack FMA for macOS and Windows in dogfood (#36757) 2025-12-05 10:24:41 -06:00
Allen Houchins
c1bff2378a
Switch to using Google Chrome FMA in dogfood (#36729) 2025-12-04 21:29:10 -06:00
Noah Talerman
437cb9ca96
Add script to remove custom santa extension (#34828)
TODO:
- Make the script itself executable. Right now you have to run `sudo
./unload_osquery_extension.sh /var/fleet/extensions/santa.ext`

Context: https://github.com/fleetdm/fleet/issues/34789

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2025-10-27 22:03:56 -05:00
Allen Houchins
b6fe05a8e3
Update set-lock-screen-message.sh (#32953)
- Updated script
2025-09-12 20:54:47 -05:00
Allen Houchins
bded4a7d4d
Added script to set lock screen message (#32820)
- Added script to set lock screen message
- Scoped it to the two workstations teams
2025-09-10 16:44:21 -05:00
Allen Houchins
280b46998a
Added Google Chrome post-install script (#32700)
- Added post-install script to Google Chrome custom package to handle restarting app to complete update
2025-09-07 21:46:04 -05:00
Jordan Montgomery
10c73cb110
Fix homebrew wine install (#32505)
Fixes #32504 

Homebrew has removed the ability to install via a local .rb file. For
context see the PR here: https://github.com/Homebrew/brew/pull/20414 .
Also the long list of PRs and commits referencing can give you some idea
of how others are solving this

We have a few different options we can take.

We can use the usual homebrew method of doing an install
wine-stable@[version] but this does not support us installing a version
referenced by a commit SHA, rather we just get to choose a specific
semver.

We can set EVs normally intended for use only by homebrew developers.
The actual Homebrew developers have strongly cautioned against this as
it has more side effects than simply allowing local package installs.

Finally, we can take the method suggested by the Homebrew developers,
which I have done here, of creating a local tap containing our specified
Wine version's cask file and installing from it. This works well in
local testing and I think has the fewest downsides while maintaining the
reference to a specific immutable version.

# Checklist for submitter
## Testing

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

Fixed CI run here:
https://github.com/fleetdm/fleet/actions/runs/17407514780/job/49415787748
2025-09-02 11:05:46 -04:00
Allen Houchins
fc0b155bb4
Added postinstall script to nudget-assets (#31976)
- Added postinstall script to load the Nudge LaunchAgent automatically
2025-08-15 12:57:36 -05:00
Allen Houchins
02b80eeeca
Adding configuration for Nudge testing (#31928)
In preparation for Nudge testing:
- created a label
- install policy
- install script
- pkg for assets
- configuration profile
2025-08-14 20:00:39 -05:00
Allen Houchins
4993c092c2
Configuration for Entra conditional access demo (#31161)
- Created a demo policy and script
- Enabled conditional access
2025-07-22 20:47:02 -05:00
Allen Houchins
481f8ac04b
Updated policies and scripts (#31030)
- Updated policies and scripts related to installing custom tables
2025-07-17 21:34:23 -05:00
Allen Houchins
e1145d56e0
Updated script name (#30685)
Changed the _ to a - in a script name.
2025-07-09 10:53:59 -05:00
Allen Houchins
fc27db1014
Added better orbit restart logic to scripts (#30224)
- Added better `orbit` restart logic to the extension installer scripts
2025-06-21 21:14:54 -05:00
Allen Houchins
86d6f3b4ef
Updated scripts and queries (#30221)
- Updated scripts with better reboot orbit logic
- Updated query to automatically send data via webhook
2025-06-20 22:49:22 -05:00
Allen Houchins
0a2d902c38
Fixed restart orbit logic in some scripts (#30204)
- Updated logic for restarting orbit
- Removed logic for testing extension
2025-06-20 13:56:31 -05:00
Allen Houchins
3b5ae7d713
Added macos_compatibility extension (#30189)
- Added custom extension for `macos_compatibility` to Workstations (canary)
2025-06-20 11:18:43 -05:00
Allen Houchins
6bdfdbf90e
Updated install santa extension script (#30100)
- Updated the script for more reliable execution and error handling/messaging
2025-06-17 16:10:34 -05:00
Allen Houchins
0f68a2d2c4
Added additional logic for Keynote theme installer (#30029)
- Added a new `Keynote installed` label so that the Keynote theme
installer will only show up for devices with Keynote installed
- Added a new `refetch_host.sh` to use to trigger an immediate refetch
2025-06-15 21:54:48 -05:00
Lucas Manuel Rodriguez
1c5700a8c4
Microsoft Compliance Partner backend changes (#29540)
For #27042.

Ready for review, just missing integration tests that I will be writing
today.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files)
for more information.
- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [X] If database migrations are included, checked table schema to
confirm autoupdate
- For new Fleet configuration settings
- [X] Verified that the setting can be managed via GitOps, or confirmed
that the setting is explicitly being excluded from GitOps. If managing
via Gitops:
- [X] Verified that the setting is exported via `fleetctl
generate-gitops`
- [X] Added the setting to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [X] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [x] Verified that any relevant UI is disabled when GitOps mode is
enabled
- 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] Manual QA for all new/changed functionality

---------

Co-authored-by: jacobshandling <61553566+jacobshandling@users.noreply.github.com>
Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-06-11 14:22:46 -03:00
Allen Houchins
c24c5cf804
Santa deployment changes (#29799)
- Updated version of santa
- Added policy and script to check for existence of santa osquery
extension and install if not found
- Changed to configuration profile based rules
- Split rules into their own configuration profiles to manage easier via
GitOps
2025-06-06 13:46:44 -05:00
Noah Talerman
b012a0be67
Uninstall fleetd scripts: "fleetd" (#29196)
Fleet's agent is called "fleetd":
https://fleetdm.com/docs/get-started/anatomy#fleetd
2025-05-15 18:48:14 -04:00
Noah Talerman
e93750edab
Cleanup scripts (#27307)
- Move duplicate scripts out of `scripts/mdm/` and into
`it-and-security/` so we have one version that we can continue to
iterate and improve.
- Remove no longer used scripts out of `scripts/mdm/`

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2025-03-27 16:43:53 -05:00
Noah Talerman
919f42a3ea
Uninstall fleetd remotely (#27024) 2025-03-19 13:35:39 -05:00
Allen Houchins
4c244657dd
Adding santa for testing (#26586)
Adding santa for testing:
https://github.com/fleetdm/fleet/issues/24910
2025-02-25 14:11:03 -05:00
Luke Heath
d47bd8f626
Reorganize our it-and-security directory (#24278) 2024-12-09 13:42:47 -06:00