Commit graph

705 commits

Author SHA1 Message Date
Luke Heath
23a0f8148b
Update GitHub Actions workflow with permissions (#33220) 2025-09-19 11:19:04 -05:00
Scott Gress
e37aa6cf29
Updates for getting private key from AWS secrets manager (#32789)
for #31321 

# Details

Small updates from [community
PR](https://github.com/fleetdm/fleet/pull/31134):

* Updated config vars to match
[docs](https://github.com/fleetdm/fleet/blob/docs-v4.75.0/docs/Configuration/fleet-server-configuration.md#server_private_key_region)
* Added support for specifying region in config (already documented)
* Removed parsing of ARN for region
* Made retry backoff intervals a bit longer

# Checklist for submitter

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

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
(already added in the community PR
[here](https://github.com/fleetdm/fleet/blob/sgress454/updates-for-private-key-in-aws-sm/changes/private-key-secrets-manager#L0-L1)

## Testing

- [X] Added/updated automated tests
- [X] QA'd all new/changed functionality manually



<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added support for specifying the AWS region for server private key
retrieval from AWS Secrets Manager via server.private_key_region.

- Chores
  - Renamed configuration keys:
    - server.private_key_secret_arn → server.private_key_arn
- server.private_key_secret_sts_assume_role_arn →
server.private_key_sts_assume_role_arn
- server.private_key_secret_sts_external_id →
server.private_key_sts_external_id
  - Update your configuration to use the new keys.
- Adjusted retry backoff for Secrets Manager retrieval to improve
resilience.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-09-19 10:57:02 -05:00
Lucas Manuel Rodriguez
134c74a94b
Add initial Arch Linux support (#33096)
For #32859.

We can ignore the "Dependency review" failure in
[CVE-2023-32698](https://github.com/advisories/GHSA-w7jw-q4fg-qc4c)
because we already have the rules to ignore it (we are not vulnerable).
I'm not updating nfpm to latest because it would require further changes
on all deb/rpm generation (source code breaking changes on the golang
interfaces).

---

<img width="448" height="151" alt="screenshot-2025-09-11_08-38-20"
src="https://github.com/user-attachments/assets/4c00b960-568a-48d9-8098-308c8ab8916f"
/>
<img width="391" height="73" alt="screenshot-2025-09-11_08-37-40"
src="https://github.com/user-attachments/assets/dec6ea22-31f8-4930-b067-0b04b4ec2b5f"
/>

<img width="759" height="428" alt="Image"
src="https://github.com/user-attachments/assets/0a76d070-4709-4a35-8e6e-caf869473d28"
/>
<img width="1178" height="634" alt="Image"
src="https://github.com/user-attachments/assets/98e6fa2a-ba07-4a55-81aa-ad747f1c57b9"
/>
<img width="1388" height="830" alt="Image"
src="https://github.com/user-attachments/assets/19d36bad-d01d-4130-b271-38bea2534833"
/>
<img width="933" height="930" alt="Image"
src="https://github.com/user-attachments/assets/1d6a369b-65d7-46a4-98a6-e6f0b29be2c8"
/>
<img width="2241" height="693" alt="Image"
src="https://github.com/user-attachments/assets/d8f98e97-f027-4c1c-ae5d-c4fa3b592a20"
/>

- [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.

## Testing

- [x] Added/updated automated tests
- [X] QA'd all new/changed functionality manually
2025-09-18 18:55:31 -03:00
Allen Houchins
fccdd8c152
Clean up "Compliance exclusions" references (#32969)
- https://github.com/fleetdm/fleet/issues/32633
2025-09-15 13:38:20 -05:00
Allen Houchins
fcdef439ab
Create testing-and-qa.yml (#32954)
- https://github.com/fleetdm/fleet/issues/32633
2025-09-14 20:37:59 -05:00
Luke Heath
e9d8d92704
Add trailing slash to S3_URI (#32958) 2025-09-13 14:10:09 -05:00
Jonathan Katz
bff25fe13d
Add jkatz01 and remove mostlikelee to fma updates (#32939) 2025-09-12 16:56:57 -04:00
Luke Heath
a3e0e9d4a9
Remove updates workflow (#32908) 2025-09-12 09:12:19 -05:00
Anthony Maxwell
0c62ef105f
Bugfix: YAML Migration Tool Build Job Binary and Hash File Name (#32735)
# Overview

[For non-Windows binaries you end up with a literal `false` in the
artifact
name](https://github.com/fleetdm/fleet/actions/runs/17557881094/job/49866625368#step:9:20).

---------

Signed-off-by: Illbjorn <am@hades.so>
2025-09-08 14:23:33 -04:00
Anthony Maxwell
288ea58bce
Feat: GitOps YAML Migration Tool (#32237)
# Overview

This pull request resolves #31165, implementing command-line tooling to
migrate GitOps YAML files following the [changes introduced in the
upcoming 4.74
release](https://github.com/fleetdm/fleet/pull/32237/files#diff-8769f6e90e8bdf15faad8f390fdf3ffb6fd2238b7d6087d83518c21464109119R7).

Aligning with the recommended steps in the `README`; [this is an example
of the first step](https://github.com/Illbjorn/fleet/pull/3/files)
(`gitops-migrate format`) and [this is an example of the second
step](https://github.com/Illbjorn/fleet/pull/4/files) (`gitops-migrate
migrate`).

---------

Signed-off-by: Illbjorn <am@hades.so>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-09-08 12:42:25 -04:00
Jordan Montgomery
596fb70399
Update Makefile swift dialog versions and add github workflow (#32511)
For #31675
For #32099 

Adds a Github workflow to generate our packaged build of Swift
Dialog(following existing Nudge packager), updates the version to 2.5.6
and modifies the Migration dialog to render properly with the new Swift
Dialog version(it previously rendered it just didn't format as expected
due to changes in the markdown formatter)

Makefile changes are necessary not only because of the version bump but
because the latest package includes xattrs for some strange reason.
Extracting it verbatim on a system(at least with our Go implementation)
creates files that cause Gatekeeper to stop execution of swift dialog.

# Checklist for submitter

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

- [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)
- [x] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes

## Testing

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

## fleetd/orbit/Fleet Desktop

- [x] Verified compatibility with the latest released version of Fleet
(see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md))
- [x] If the change applies to only one platform, confirmed that
`runtime.GOOS` is used as needed to isolate changes
- [x] Verified that fleetd runs on macOS, Linux and Windows
- [x] Verified auto-update works from the released version of component
to the new version (see [tools/tuf/test](../tools/tuf/test/README.md))
2025-09-05 10:49:21 -04:00
Lucas Manuel Rodriguez
ea42ef3cee
Add slack notification to TUF signature job when it fails (#32452)
We got the following warning today:

<img width="1311" height="200" alt="Screenshot 2025-08-29 at 9 51 52 AM"
src="https://github.com/user-attachments/assets/a62ab52d-fe89-4b96-9082-f1a91d6e8b08"
/>

The process for updating the signature which happens every Tuesday
failed, and nobody realized it failed because we missed adding a Slack
notification to it.
2025-09-03 16:17:53 -03:00
Luke Heath
7bfd47276a
Pin action versions used in script diff workflow (#32416)
Resolves security scanner alert.
2025-08-28 14:38:45 -05:00
Victor Lyuboslavsky
1d9131a602
Improve integration workflow robustness with health checks and detailed enrollment logging. (#32348)
Fixes #32347

# Checklist for submitter

## Testing

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


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- New Features
- Added health checks and elapsed-time logging during server startup and
host enrollment in the integration workflow.
- Bug Fixes
- Reduced flakiness by adding bounded login retries and server readiness
verification before proceeding.
- Tests
- Periodic diagnostics for host enrollment status to aid visibility
during runs.
- Chores
- Increased server startup timeout from 10 to 15 minutes in the
integration workflow.
  - Minor workflow formatting cleanups for consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-08-27 14:52:48 -05:00
Tim Lee
1cf71a251d
Fix FMA update PR name filter (#32338) 2025-08-27 13:45:04 -05:00
Tim Lee
8920c76cc7
Enable assignees for automated FMA PR creation (#32327) 2025-08-26 15:33:24 -05:00
Juan Fernandez
583c95c7b9
Added missing permissions required for code-sign-windows (#32281)
For #32007.

Added missing attestation permission requirements.
2025-08-25 17:08:36 -04:00
Carlo
8bc8d01f0a
Merge Android datastore into main Fleet datastore (#32233)
Resolves #31218
2025-08-25 11:41:28 -04:00
Lucas Manuel Rodriguez
6474fb39d1
Remove pull_request from check-vulnerabilities-in-released-docker-images.yml (#32234)
It triggered on a UI change, which doesn't make sense.

https://github.com/fleetdm/fleet/actions/runs/17164572704/job/48701807667?pr=32232

This should run in a schedule and manually only, not on pull requests.
2025-08-22 17:11:11 -03:00
Ian Littman
015a84046a
Split paths list in script diff GHA workflow to make the filter actually work (#32188) 2025-08-21 17:23:37 -06:00
Ian Littman
6c5d8bc2e9
Fix path filter for script diff action (#32186) 2025-08-21 17:04:37 -06:00
Tim Lee
f331effbc7
Use PAT to trigger FMA PRs (#32146) 2025-08-21 15:47:07 -06:00
Dhruv Trivedi
f03d5770ee
feat: add CI workflow to automatically check and report script changes in maintained apps (#32006) 2025-08-20 13:09:24 -06:00
Jorge Falcon
fc94901cac
Dogfood & Dogfood Free - Terraform deprecation fixes (#32101)
Added support to allow terraform plan (dry-run) without apply for
dogfood deployment action

Updated infrastructure/dogfood/terraform/aws-tf-module/docker/main.tf
- Allow hashicorp/aws `>= 5.68.0` instead of `~> 5.0`

Updated infrastructure/dogfood/terraform/aws-tf-module/main.tf
- Updated occurences of `data.aws_region.current.id` ->
`data.aws_region.current.region`
- Updated occurences of `data.aws_region.current.name` ->
`data.aws_region.current.region`
- Allow hashicorp/aws `>= 5.68.0` instead of `~> 5.0`
- `tf-mod-root-v1.15.2` -> `tf-mod-root-v1.17.0`
- `tf-mod-addon-migrations-v2.0.1` -> `tf-mod-addon-migrations-v2.1.0`
- `tf-mod-addon-osquery-carve-v1.1.0` ->
`tf-mod-addon-osquery-carve-v1.1.1`
- `tf-mod-addon-logging-alb-v1.3.0` -> `tf-mod-addon-logging-alb-v1.4.0`
- `tf-mod-addon-ses-v1.3.0` -> `tf-mod-addon-ses-v1.4.0`
- `tf-mod-addon-external-vuln-scans-v2.2.1` ->
`tf-mod-addon-external-vuln-scans-v2.3.0`

Updated infrastructure/dogfood/terraform/aws-tf-module/free.tf
- Updated occurences of `data.aws_region.current.id` ->
`data.aws_region.current.region`
- Updated occurences of `data.aws_region.current.name` ->
`data.aws_region.current.region`
- `tf-mod-byo-vpc-v1.13.0` -> `tf-mod-byo-vpc-v1.18.3`
- `tf-mod-addon-ses-v1.3.0` -> `tf-mod-addon-ses-v1.4.0`
- `tf-mod-addon-migrations-v2.0.1` -> `tf-mod-addon-migrations-v2.1.0`

Updated infrastructure/dogfood/terraform/aws-tf-module/free-ecs-hosts.tf
- Updated occurences of `data.aws_region.current.name` ->
`data.aws_region.current.region`
2025-08-19 22:48:19 -04:00
Juan Fernandez
19a5298f5b
Added missing permissions (#32021)
For #32007. Added missing permissions for attestation.
2025-08-19 14:04:17 -04:00
Victor Lyuboslavsky
4e50de7193
For Go tests, always upload a success/fail status indicator so that aggregate-result works correctly. (#32065)
Fixes #31994
2025-08-18 17:23:45 -05:00
Juan Fernandez
656869acf2
SLSA attestation updates (#31833)
For #26382

- Attested the signed Windows Orbit binary instead of the unsigned one.
- For both Fleet desktop and Osquery for macOS and Windows artifacts,
attested the binaries inside archives.
2025-08-14 14:52:16 -04:00
Lucas Manuel Rodriguez
1382365f8c
Release osqueryd 5.19.0 (#31912) 2025-08-14 14:47:22 -03:00
Eric
53bb51e49f
Update vulnerability dashboard to deploy from a parentless commit (#31887)
Changes:
- Updated the `deploy-vulnerability-dashboard` workflow to deploy the
app from a parentless commit.
2025-08-14 09:58:25 -05:00
Eric
d1e1b7d7d9
Website: Update deploy workflow to remove website/assets folder from website's build slug. (#31769)
Related to: #31753

Changes:
- Updated the "Deploy Fleet website" workflow to remove the
`website/assets` folder from the website's build slug when the website
deploys.
2025-08-13 17:00:14 -05:00
Lucas Manuel Rodriguez
d849e01add
Update Go to 1.24.6 (#31784)
Ran
```
make update-go version=1.24.6
```
And then updated the `sha256`s manually in the Dockerfiles.

Fixes https://nvd.nist.gov/vuln/detail/CVE-2025-47907
```
Cancelling a query (e.g. by cancelling the context passed to one of the query methods) during a call
to the Scan method of the returned Rows can result in unexpected results if other queries are being
made in parallel. This can result in a race condition that may overwrite the expected results with those
of another query, causing the call to Scan to return either unexpected results from the other
query or an error.
```
2025-08-12 08:10:05 -03:00
Lucas Manuel Rodriguez
4265bed7f1
Make sure VEX report is up-to-date with a CI check (#31759) 2025-08-11 14:55:31 -05:00
Eric
418cd8b416
Update "Deploy to Heroku" step of Deploy Fleet website workflow. (#31798)
Changes:
- Updated the "deploy to Heroku" step of the "Deploy Fleet Website"
workflow.
2025-08-11 14:37:08 -05:00
Eric
856a97a0b1
Fix YAML syntax error in Deploy Fleet website workflow. (#31794)
(Sorry for the follow-up PR)

Changes:
- Fixed a YAML syntax error in the "Deploy Fleet website" workflow.
2025-08-11 14:03:43 -05:00
Eric
b295d3a183
Update website to deploy from a parentless commit. (#31790)
Related to: [#31753](https://github.com/fleetdm/fleet/issues/31753)

Changes:
- Updated the "Deploy Fleet website" workflow to push to the Heroku git
repo from a parentless commit that does not contain the full git
history.
2025-08-11 13:25:54 -05:00
Konstantin Sykulev
54823b0b9d
pinning dependencies for FMA workflow yml (#31743)
Resolving 
https://github.com/fleetdm/fleet/security/code-scanning/1422
https://github.com/fleetdm/fleet/security/code-scanning/1421
https://github.com/fleetdm/fleet/security/code-scanning/1420
https://github.com/fleetdm/fleet/security/code-scanning/1419

- [x] QA'd all new/changed functionality manually
2025-08-08 12:11:55 -05:00
Eric
d53448618c
Disable storybook steps in website-related GH workflows (#31723)
Related to: https://github.com/fleetdm/fleet/issues/31720

Changes:
- Commented out the step that builds Storybook in the "Test Fleet
website" and "Deploy Fleet website" workflows. There is an error caused
by an incompatible version of a Storybook dependency that is preventing
these workflows from running.
2025-08-08 10:57:46 -05:00
Victor Lyuboslavsky
58eef867e0
Update MySQL versions we test with to 8.4.6 and 9.4.0 (#31694)
Fixes #31693

Manually forced a run for MySQL 8.4.6 to validate.

# Checklist for submitter

- Changes not needed since this is not a product change.

## Testing

- [x] Added/updated automated tests
2025-08-08 07:19:06 +02:00
Konstantin Sykulev
b1a392d672
FMA test automation (#31210)
For #29183

# Checklist for submitter

- [x] Added/updated automated tests
- [x] Manual QA for all new/changed functionality


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Introduced automated validation workflows for maintained applications
on both macOS and Windows, ensuring apps can be installed, verified, and
uninstalled as expected.
* Added new command-line tool to validate maintained apps, providing
detailed reporting on validation results.
* Enhanced detection and handling of pre-installed applications during
validation.
* Improved post-installation steps for macOS, including quarantine
removal and system refresh.

* **Chores**
* Added new continuous integration workflows to automate application
validation on pull requests for relevant files.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-31 15:23:36 -05:00
Jordan Montgomery
3b4f38d45c
Add Github Action to create issues when there are new MS MDM Protocol Changes to Review (#31424)
The impetus for this was #31232 . Some MDM migrations and enrollments
broke because MDM Enrollment Protocol changes snuck in that we didn't
see

Now within 24h of Microsoft publishing changes to the MDM or MDE2
protocols we will get a github issue to review them

See #31423 for an example

# Checklist for submitter

## Testing


- [x] QA'd all new/changed functionality manually
2025-07-30 16:18:37 -04:00
Ian Littman
96479c5731
Bump container for fleetctl preview GH Action (#31389)
22.04 has been removed as of today so we're currently skipping fleetctl
preview testing.
2025-07-29 13:25:41 -05:00
Jorge Falcon
3a112afdb6
Loadtesting - Enable Cloudfront (#31073)
# Added
- Added kms.tf to support encrypting keys, specifically cloudfront keys.
- Added template/cloudfront.tf.disabled for use in enabling cloudfront.-
Modified ecs-iam.tf to support log-alb.tf, cloudfront.tf policies that
are injected into `local.extra_execution_iam_policies` and `local.iam`.
- Added log-alb.tf to enable logging alb, required by cloudfront.tf.

# Changed
- Modified ecs.tf to support adding of additional secrets from
`local.secrets`.
- Modified firehose.tf to support provider required updates for
deprecated resource configurations.
- Modified init.tf to support `> v5.0` of `hashicorp/aws` provider.
- Modified locals.tf to add `extra_execution_iam_policies`, `iam`,
`software_installers_kms_policy`, `extra_secrets`, secrets, and
`cloudfront_key_basename`, to support cloudfront.
- Modified readme.md with instructions on how to enable cloudfront.tf
- Modified redis.tf to support provider required updates for deprecated
resource configurations
- Modified s3.tf to support kms keys and add kms iam.
- Modified terraform version in .github/workflows/tfvalidate.yml - 1.9.0
-> 1.10.4
2025-07-21 16:41:06 -04:00
Jahziel Villasana-Espinoza
5159b82281
add a JSON schema for homebrew FMA inputs (#30881)
# 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-07-16 19:41:39 -04:00
Luke Heath
e52a8a2ecf
Apply starter library during for fleetctl preview server (#30519) 2025-07-16 08:12:32 -06:00
Luke Heath
5276a08665
Only run docker publish when PR is not a fork (#30808)
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-14 17:03:37 -06:00
Jorge Falcon
bc9c2b48ad
Adding support to dogfood for FLEET_MICROSOFT_COMPLIANCE_PARTNER_PROXY_API_KEY (#30709)
- Adding `FLEET_MICROSOFT_COMPLIANCE_PARTNER_PROXY_API_KEY` to dogfood
- Adding creation of secret and secret version for
`FLEET_MICROSOFT_COMPLIANCE_PARTNER_PROXY_API_KEY` value
2025-07-10 00:59:06 -04:00
Tim Lee
1980ec9cc0
Use GH API token in ingest FMA action (#30586) 2025-07-09 15:48:52 -06:00
Victor Lyuboslavsky
82eddfea1e
Added Slack failure notification to the new Collect engineering metrics job. (#30566)
Fixes #29140

I intended to add a Slack notification but forgot in the previous PR.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Added automated Slack notifications for failed scheduled workflow
runs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 14:10:29 -05:00
Victor Lyuboslavsky
0d095b3778
Add workflows to collect engineering metrics. (#30540)
Fixes #29140 

This is an engineering initiated story that does not impact product.
This code has been running and manually tested in my own repo:
https://github.com/getvictor/eng-metrics

See
[README.md](https://github.com/fleetdm/fleet/blob/victor/29140-eng-metrics/.github/actions/eng-metrics/README.md)
in this branch for details.

The metrics can be viewed on
https://fleeteng.grafana.net/d/b97a629f-3626-4a28-9781-0fa3c8427897/engineering-metrics
(credentials in 1Password)


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Introduced an engineering metrics collection tool that gathers GitHub
metrics (e.g., Time to First Review, Time to Merge) and uploads them to
BigQuery.
* Added support for user group management and product group mapping via
markdown parsing.
* Enabled print-only mode for testing metrics output without uploading
to BigQuery.
* Added automatic handling of bot filtering, weekend-aware time
calculations, and differential syncing of user groups.
* Implemented robust GitHub username validation and retry logic for API
rate limits.

* **Documentation**
* Added comprehensive usage and configuration documentation for the
engineering metrics tool.

* **Chores**
* Added configuration, environment example, and workflow files for
automated metrics collection and testing.
* Specified Node.js version and set up project dependencies and scripts.

* **Tests**
* Added extensive unit and end-to-end test suites to ensure reliability
of metrics collection, configuration, and integrations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 16:59:25 -05:00
Robert Fairburn
dce722cc07
Initial action to synchronize signing secrets to confidential repo (#30561)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* Added a new workflow to simulate syncing selected secrets to another
repository in dry-run mode. No actual changes will occur during
execution.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-03 16:45:39 -05:00