Commit graph

680 commits

Author SHA1 Message Date
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
Martin Angers
639cbb510b
Prevent starting browser in fleetctl preview (#30424) 2025-06-30 10:41:42 -04:00
Ian Littman
dfaad610d9
Remove unneeded exposed ports on osquery-in-a-box minio to avoid host-port conflicts (#30416)
Also ensures we run integration tests when docker-compose files used by
`fleetctl preview` are changed, so we don't merge any more test failures
due to those.
2025-06-29 12:40:17 -05:00
Lucas Manuel Rodriguez
b81c6b7940
Release osqueryd 5.18.1 (#30348) 2025-06-26 18:35:50 -03:00
Lucas Manuel Rodriguez
3630c777d6
Pin version of cloudflared to 2025.5.0 (#30179)
CI is failing with:
```
Selecting previously unselected package cloudflared.
(Reading database ... 219352 files and directories currently installed.)
Preparing to unpack cloudflared-linux-amd64.deb ...
Unpacking cloudflared (2025.6.1) ...
Setting up cloudflared (2025.6.1) ...
Processing triggers for man-db (2.12.0-4build2) ...
error parsing tunnel ID: fleet-test-81a7ab03-3e62-43a2-bdc0-8470dbdca600 is neither the ID nor the name of any of your tunnels
Awaiting tunnel ready...
failed to create tunnel: Unknown output format 'default'
Awaiting tunnel ready...
Awaiting tunnel ready...
[...]
```
E.g.:
https://github.com/fleetdm/fleet/actions/runs/15746535584/job/44417207764?pr=30140

It's hard to troubleshoot what's going on with the latest version
without good credentials, so we will pin the version for now as a
workaround.
2025-06-20 13:20:19 -03:00
Ian Littman
79d5e605ed
Fail CI if Markdown files have "here" or "click here" as link anchors (#30027)
Also includes fixes for outstanding failing links. See earlier builds
for proof that this is catching problems.

For #30019.
2025-06-19 10:12:31 -05:00
Benjamin Edwards
e3711d0b11
added env vars for webhook osquery results logging destination (#29809)
Update dogfood deployment to utilize webhooks for the osquery results
logging destination configuration

@BCTBB already added a tines.io webhook URL to the repo secrets
`DOGFOOD_WEBHOOK_URL` where the value was provided by @harrisonravazzolo

Co-authored-by: Harrison Ravazzolo <38767391+harrisonravazzolo@users.noreply.github.com>
2025-06-16 10:22:31 -05:00
Luke Heath
5dc0171124
Move GitHub token to correct step (#30022) (#30023) 2025-06-14 14:36:03 -05:00
Luke Heath
442b66b87f
Update goreleaser env vars (#30021) 2025-06-14 13:31:30 -05:00
Lucas Manuel Rodriguez
ad0038f319
Update dependency-review-action (#29910)
Action is currently broken on all PRs.
2025-06-11 11:15:48 -03:00
Jahziel Villasana-Espinoza
9d2b07f76f
add a test that checks collation on new migrations (#29309)
> closes #26403

# 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] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [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
2025-05-29 17:00:30 -04:00
Lucas Manuel Rodriguez
a674a01144
Use build date for version for local TUF orbits (#29442)
Two new improvements for local TUF after feedback from @iansltx and QA
folks:

1. The static `42` was confusing when making or sharing several builds
of locally built fleetd. Locally TUF-built version of orbit will now be:
`YY.MM.XXXXX`, e.g. `25.5.56178` (patch version is a 16-bit number made
from day, hour and minute).
2. Also prompting user to delete `test_tuf` which is usually a source of
confusion/errors.
2025-05-28 17:13:58 -03:00
Lucas Manuel Rodriguez
681b5d4353
Update changelog for fleetd 1.42.0 release (#29186)
Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-05-19 08:22:30 -03:00
Ian Littman
f6d929861c
Drop assignees from FMA automated PRs (#29049)
Due to modifications in the Fleet-maintained apps update process,
#g-software engineers are no longer the DRIs for moving update PRs
along.
2025-05-12 12:54:38 -05:00
Victor Lyuboslavsky
1ffcc21450
Reducing "waiting for mysql" timeout to 1 minute to speed up dev feedback. (#28935)
I'm seeing it takes ~10 seconds to MySQL to come up, so 1 minute should
be plenty. 5 minutes was too long to wait.
2025-05-07 16:17:22 -05:00
Victor Lyuboslavsky
2d5ac35578
Improving "Wait for mysql" in Go tests. (#28901)
For #28902

Modified the GitHub Actions workflow to prevent it from hanging at the
"waiting for mysql..." step. The updated workflow now:

- Times out after 5 minutes of unsuccessful MySQL connection attempts
- Logs all connection attempts with timestamps and error messages when a
timeout occurs
- Dumps MySQL container logs when a timeout occurs, providing valuable
diagnostic information
- Automatically stops and restarts all Docker containers using the same
command as the original "Start Infra Dependencies" step
- Retries this process up to 5 times before failing the job
2025-05-07 10:17:53 -05:00
Lucas Manuel Rodriguez
bfe3b186d3
Fix detected CVEs and docker scout exit code to fail the Github Action (#28836)
For #28837.

Fixing this all of this because we got multiple reports from the
community and customers and these were also detected by Amazon
Inspector.

- Fixes CVE-2025-22871 by upgrading Go from 1.24.1 to 1.24.2.
- `docker scout` now fails the daily scheduled action if there are
CRITICAL,HIGH CVEs (we missed setting `exit-code: true`).
- Report CVE-2025-46569 as not affected by it because of our use of
OPA's go package.
- Report CVE-2024-8260 as not affected by it because Fleet doesn't run
on Windows.
- The `security/status.md` shows a lot of changes because we are now
sorting CVEs so that newest come first.

---

- [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.
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/fleetd-development-and-release-strategy.md)).
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
- [ ] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-05-06 13:35:27 -03:00
Victor Lyuboslavsky
dd10a417ec
Replacing MySQL 8.4 with MySQL 9.X in our regular (every commit) tests. (#28777)
Replacing MySQL 8.4 with MySQL 9.X in our regular (every commit) tests
to speed up dev feedback. The MySQL 8.4 tests will still run nightly.

The vulnerability feed download CI fails below are not related to this
change.
2025-05-02 17:24:24 -05:00
Jordan Montgomery
c97a0e2363
Fix Windows lint issues and enable linting on Windows (#28704)
For https://github.com/fleetdm/fleet/issues/9943

This will help us avoid issues like this where the log message never
worked right:
https://github.com/fleetdm/fleet/pull/28296#discussion_r2047505191

Most of the changes are no-op type changes like removing unneeded
typecast or disabling gosec on reviewed lines of code

# 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
- For Orbit and Fleet Desktop changes:
- [x] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/fleetd-development-and-release-strategy.md)).
- [x] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2025-05-02 16:11:26 -04:00
Victor Lyuboslavsky
3d3d43864a
Bumping MySQL 8.4.3->8.4.5 and 9.1.0->9.3.0 in tests. (#28767)
I forced a test run on 9.3.0 (which only runs nightly be default).
2025-05-02 13:40:11 -05:00
Lucas Manuel Rodriguez
004027cca2
Add wait to fleet-and-orbit.yml until fleet and tunnel are responding (#28508)
Similar to the fix for https://github.com/fleetdm/fleet/issues/26349.
2025-04-23 19:07:36 -03:00
Lucas Manuel Rodriguez
0ebcf788ad
Update SSO settings for dogfood (#28435)
- `issuer_uri` and `enable_jit_role_sync` are deprecated (see
https://github.com/fleetdm/fleet/issues/10688)
- Setting `enable_sso_idp_login` to allow testing logins initiated from
Google.
2025-04-22 10:40:34 -05:00
Lucas Manuel Rodriguez
5da0008872
Fix code scanning alert for not pinned actions (#28305)
Fixes https://github.com/fleetdm/fleet/security/code-scanning/1381.
2025-04-16 16:35:13 -05:00
Lucas Manuel Rodriguez
243ca206bf
Fix tagging of fleetdm/fleet and fleetdm/fleetctl when releasing (#28251)
For #26988.
2025-04-16 15:48:47 -03:00
Lucas Manuel Rodriguez
68ee136e3b
Release osqueryd 5.17.0 (#28294) 2025-04-16 15:25:26 -03:00
Lucas Manuel Rodriguez
3c86055139
Add wait until fleet is responding (#28241)
For #26349.
2025-04-16 13:11:03 -03:00