Commit graph

967 commits

Author SHA1 Message Date
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
Jordan Montgomery
df924f13b3
Update PR Template based on #30574 postmortem (#30957) 2025-07-16 13:24:57 -06:00
Noah Talerman
b8f75b2b96
New 🗺️ Roadmap board (#30919) 2025-07-16 11:43:28 -06:00
Luke Heath
e52a8a2ecf
Apply starter library during for fleetctl preview server (#30519) 2025-07-16 08:12:32 -06:00
Victor Lyuboslavsky
d20ddf3328
Fixed bug where PR author's own review was counted as first review. (#30815)
Fixes #29140

Only impacts metrics gathering.

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

* **New Features**
* Reviews made by the pull request creator are now filtered out in
addition to bot reviews when viewing pull request review events.

* **Tests**
* Added and updated tests to verify correct filtering of both bot and
pull request creator reviews, including improved logging checks.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-15 15:59:23 +02: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
Victor Lyuboslavsky
7319e269e0
Added Grafana query to README.md for reference. (#30632)
Added Grafana query to Engineering Metrics README.md for reference.

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

* **Documentation**
* Added a new "Grafana queries" section to the README, providing a
detailed example SQL query for visualizing the "Time to First Review"
metric with dynamic filtering and rolling averages in Grafana
dashboards.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-14 12:10:30 -04:00
Tim Lee
814d7cfda0
Update FMA contributor docs (#30551)
Updating FMA process for adding new apps by internal and external
contributors. Goals:
- A fast-track experience for contributors if the app does not have
complications (don't need to wait for issue prioritization)
- As few handoffs as possible

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
2025-07-10 11:13:11 -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
Ian Littman
fdc0c0b92d
Clarify GitOps changes checkboxes in story template (#30411)
Also swaps some items to TODO so it's easier to search for "TODO" to
spot when a story isn't fully filled out.
2025-06-30 11:17:36 -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
Sam Pfluger
f86883532d
Fix label (#29913) 2025-06-11 08:56:14 -05: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
Scott Gress
8c21f1c35b
Add GitOps section to PR template (#29368) 2025-05-22 12:07:38 -05:00
Janis Watts
0b452982a7
Update Smoke test template (#29348)
Update Smoke test template with additional load testing instructions for
performance testing migrations
2025-05-22 10:38:37 -05: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
Luke Heath
7380919dc3
Organize contributor docs and establish ADR process and template (#29101) 2025-05-17 15:03:52 -05:00
Ian Littman
3434db7bce
Drop QA plan checkbox in PR template now that User Story Review exists as a QA checkpoint (#29036) 2025-05-12 16:52:45 -05: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
Noah Talerman
898648ee82
Update story template (#28793)
- Add Engineer to contact
2025-05-05 13:53:54 -04:00
Noah Talerman
eec0722f3b
Update story template (#28773) 2025-05-02 21:40:16 -05: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
Allen Houchins
0ec3f98dd7
Updated reviewers list (#28703)
- Removed Luke and Noah from reviewers list now that we have multiple
people reviewing changes
2025-04-30 14:24:57 -05:00
Noah Talerman
251347c6f8
Update air-guitar.md (#28683)
- Add story label
2025-04-30 09:42:46 -05:00
Noah Talerman
e761f85b27
Update dogfood.md (#28603)
Remove "issue" from the name

---------

Co-authored-by: Eugene <eugene@fleetdm.com>
2025-04-28 18:29:12 +04:00
Eugene
33c3135bb5
Create dogfood.md (#28602)
Creating an issue template for dogfood stories. Product designers create
these during confirm and celebrate to test final developed stories.
2025-04-28 10:25:36 -04: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
Lucas Manuel Rodriguez
895194d63b
Add scanning to released images and process to track vulnerabilities (#28087)
For #25902.

---------

Co-authored-by: Sharon Katz <121527325+sharon-fdm@users.noreply.github.com>
2025-04-16 11:50:10 -03:00
Victor Lyuboslavsky
229b51ff5b
Report aggregate results immediately after test-go matrix runs. (#28123)
Report aggregate results immediately after test-go matrix runs
2025-04-11 14:05:19 -05:00
Dante Catalfamo
94f6127edc
Orbit for Windows ARM64 (#27882)
#27275 and #27274

- [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
- [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] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).

---------

Co-authored-by: Lucas Rodriguez <lucas@fleetdm.com>
2025-04-11 10:18:28 -04:00
Sam Pfluger
6d0c49d70f
Create article issue template (#28040) 2025-04-10 17:55:40 -05:00
Victor Lyuboslavsky
5a549a3d03
Mark test-go failed if one test failed. (#28052) 2025-04-09 17:39:47 -05:00
Noah Talerman
fcf1a73d6c
Delete test feature request issue template (#28030)
- Remove test issue template
2025-04-09 10:54:01 -04:00
Marko Lisica
ed9bb83352
Add feature-request.yml template (#28029)
We're testing .yml templates, so we can add default project to issue
template
2025-04-09 16:50:48 +02:00
Noah Talerman
cf9759973b
Create feature-request.md (#28027)
@noahtalerman: I broke the issue template by changing it to YAML
2025-04-09 10:40:56 -04:00
Noah Talerman
24677b5720
Update feature-request issue template to YAML (#28026)
For GitHub projects dry run 🤞
2025-04-09 10:36:59 -04:00
Noah Talerman
bc9b4547cd
Update feature-request issue template (#28025)
It's reported that the `projects:` key doesn't work in markdown (.md)
issue templates:
https://github.com/orgs/community/discussions/9687#discussioncomment-12573283
2025-04-09 10:15:44 -04:00
Noah Talerman
4686b58b89
Update feature-request.md (#28024)
No array for projects if there's 1?
2025-04-09 10:10:29 -04:00
Noah Talerman
fb44c3cac8
Update feature-request.md (#28023)
Maybe the project has to be public?
2025-04-09 10:07:49 -04:00
Noah Talerman
a43db3fd4a
Update feature-request issue template (#28020)
Projects use IDs:
https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms
2025-04-09 10:02:37 -04:00
Noah Talerman
a8cea14335
Update feature-request.md issue template (#28017)
For GitHub projects dry run
2025-04-09 10:00:14 -04:00
Allen Houchins
00480f8fb0
Renaming teams to support Android devices (#27991)
Related to fleetdm/confidential#9192
2025-04-08 17:45:14 -05:00
Ian Littman
008eff27b0
Add MySQL 8.0.32 to test matrix (#27985)
Adding to validate Aurora 3.05.2 compat per a customer request.
2025-04-08 12:51:36 -05:00
Marko Lisica
b09fd13439
Mention My device page in Product section (#27837)
Mentioned My device page in Product section of the issue, so we don't
forget it when working on stories.
2025-04-08 10:07:19 -04:00
Scott Gress
c45e0df72b
Update permissions in workflows to be more restrictive (#27959) 2025-04-07 16:16:16 -05:00
Victor Lyuboslavsky
7558d5afa1
Improvements to test-go CI job (#27916)
This PR makes several improvements to test-go CI job
- remove ZSH dependency from all test suites except for a new `scripts`
suite
- add a `fast` suite that does not have out-of-process dependencies,
which completes in ~1.5 minutes
- contributors can add their fast tests to this suite so they can see
the results in CI faster
- Rename `core` to `main` test suite to be consistent with Makefile. It
is the default bucket for tests.
- Cleaned up Makefile so that it is more straightforward to add new test
suites or move Go packages between suites
- Do not stop the test suites on a fail.
- We do not want to be blocked by a test fail that another product team
introduced
- Sometimes, we want to see all test failures so we can fix them all at
once.
- Removed `test-schema` and `mock` prerequisites for `test-go` since
they are not needed and just take up time.
- But also added `test-schema` run to one of the test suites just in
case.

Unfortunately, `fleetctl` is still the bottleneck and needs to be
refactored. New issue filed:
https://github.com/fleetdm/fleet/issues/27927

## Before
<img width="248" alt="image"
src="https://github.com/user-attachments/assets/110ffc1d-f090-4d3e-be77-0419b9577d20"
/>

## After
<img width="320" alt="image"
src="https://github.com/user-attachments/assets/8d01ea11-408f-4eb6-81d8-9c25410b8830"
/>
2025-04-07 12:52:26 -05:00
Lucas Manuel Rodriguez
8003227554
Use go 1.24 new tool feature (#27765)
Release notes: https://tip.golang.org/doc/go1.24

> Go modules can now track executable dependencies using tool directives
in go.mod. This removes the need for the previous workaround of adding
tools as blank imports to a file conventionally named “tools.go”. The go
tool command can now run these tools in addition to tools shipped with
the Go distribution. For more information see [the
documentation](https://tip.golang.org/doc/modules/managing-dependencies#tools).
The new -tool flag for go get causes a tool directive to be added to the
current module for named packages in addition to adding require
directives.

I ran:
```
go get -tool github.com/fleetdm/fleet/v4/server/goose
go get -tool github.com/kevinburke/go-bindata
go get -tool github.com/quasilyte/go-ruleguard/dsl
go rm tools.go
go mod tidy
```

`make deps-go` was failing in CI because of the removal of `tools.go`
(my guess is that `go get .` was a nop because there was nothing in `.`
to download).
So, taking the chance of removing `deps-go` because `go` will download
packages during the build process. AFAICS there's no need to download
everything beforehand.
2025-04-07 11:12:05 -03:00
Scott Gress
caf5e6f3b0
Allow patch release of fleetd via releaser script (#27448)
For #21396

# Details

This PR updates the automated release cycle for Orbit desktop, so that
it triggers based on a pushed _tag_ rather than a pushed PR. This has
the following benefits:

* The release can be based off of any branch, rather than always using
`main` as the base, so we can safely do patch release of desktop without
including in-progress code from main
* It brings the desktop release process more in line with the main Orbit
release process -- both are now triggered by a tag push.

We still create a PR for the release, to include a changelog.

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

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

## Testing

To do -- will discuss with @lucasmrod

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2025-04-04 09:47:16 -05:00
Lucas Manuel Rodriguez
e2e8c32797
Increase sleep time in verify-fleetd-base.yml (#27763)
https://github.com/fleetdm/fleet/actions/runs/14211929711
2025-04-02 14:30:04 -03:00
Ian Littman
6be5cf55cb
Fix path for go-version-file in FMA ingest job (#27744)
When Go version switched from being hardcoded to being based off of the
deps file, Fleet being checked out into a subdir wasn't taken into
account, so FMA ingest jobs started failing. This adds the (hopefully)
correct dir to fix the issue and get FMA ingest working again.
2025-04-01 16:19:21 -05:00
Noah Talerman
a25afdf7b2
Fleet UI breakpoints: Drafting and implementing (#27733)
- Update story template as a reminder for Product Designers to consider
Fleet's breakpoints: 480, 768, 1024, 1280, and 1440px
- Only need wireframes when there are substantial changes (ex. dropping
columns or wrapping elements)
- Update Product Groups handbook to clarify that Engineers are
responsible for filling in gaps for smaller changes. Engineers bring
proposed changes to their product group's design review meeting.
2025-04-01 16:24:48 -04:00
Ian Littman
0293d99800
Remove default EXE install/uninstall scripts, require entering install/uninstall scripts on EXE upload (#27268)
For #27267.

Below is what's shown immediately after selecting an EXE:

<img width="1254" alt="image"
src="https://github.com/user-attachments/assets/a28d8565-de88-448a-bdbc-92aefc34ad55"
/>


TODO:

* Tests
* GitOps requirements changes
* Disabling add button/adding errors when required scripts aren't
specified

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

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: RachelElysia <rachel@fleetdm.com>
2025-03-31 13:52:06 -05:00
Scott Gress
59f96651b6
Update to Go 1.24.1 (#27506)
For #26713 

# Details

This PR updates Fleet and its related tools and binaries to use Go
version 1.24.1.

Scanning through the changelog, I didn't see anything relevant to Fleet
that requires action. The only possible breaking change I spotted was:

> As [announced](https://tip.golang.org/doc/go1.23#linux) in the Go 1.23
release notes, Go 1.24 requires Linux kernel version 3.2 or later.

Linux kernel 3.2 was released in January of 2012, so I think we can
commit to dropping support for earlier kernel versions.

The new [tools directive](https://tip.golang.org/doc/go1.24#tools) is
interesting as it means we can move away from using `tools.go` files,
but it's not a required update.

# 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`.
- [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
   - [x] Orbit runs on macOS  , Linux   and Windows. 
- [x] Manual QA must be performed in the three main OSs, macOS ,
Windows and Linux .
2025-03-31 11:14:09 -05: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
Lucas Manuel Rodriguez
60f829f6bd
Fix code scanning alerts (#27074)
These are fixes to some of the alerts in:
https://github.com/fleetdm/fleet/security/code-scanning
2025-03-27 10:01:20 -03:00
Victor Lyuboslavsky
527428f0b4
Speeding up Go tests in CI. (#27434)
Using `go get .` (~3s) is faster than `go mod download` (~13s) in CI.
2025-03-25 12:03:24 -05:00
Allen Houchins
d2189acbd9
Update dogfood-policy-updater-latest-1password-macos.sh (#27395)
Script has been updated to ignore pre-release/beta version strings. 

More info here:
https://fleetdm.slack.com/archives/C071NNMSP2R/p1742568702131279
2025-03-21 10:52:35 -05:00
Scott Gress
bbe3f18b88
Dismiss old FMA PRs after creating a new one (#27359)
We have a scheduled action to create an "Update Fleet-maintained apps"
PR with the latest updates for FMAs. The bot creates a new PR each time,
even if the previous PRs haven't been merged. Since the latest PR will
always have all the latest updates, it's unnecessary to keep the old
ones around. We should have the bot close the old PRs once the new one
is opened. Additionally it was recommended that assignees be added to
the PR.

This PR updates the action to:

1. Find existing "Update Fleet-maintained apps" PRs created by the bot
2. Get the list of Github IDs of the devs on the software product team
3. Creates a new PR as usual, adding the devs as assignees
4. If the new PR is created successfully, closes the old PRs with
comments linking to the new PR

See a successful run
[here](https://github.com/fleetdm/fleet/actions/runs/13977643317/job/39135240445),
+ the resulting PR [here](https://github.com/fleetdm/fleet/pull/27357)

---------

Co-authored-by: Tim Lee <timlee@fleetdm.com>
2025-03-21 09:32:02 -05:00
Luke Heath
0c81e7ba04
Address code scanning permissions warnings (#27250) 2025-03-20 12:07:41 -05:00
Noah Talerman
dea69de8d8
User story template (#27293)
Add a "Contributor API changes" checkbox in the "Engineering" section.
This way we spec contributor API changes before we get to estimation.
2025-03-19 16:04:05 -05:00
Allen Houchins
30012688d1
Added policy automation and new Windows installer (#27244)
- Added script and workflow to keep 1Password policy up to date
- Changed to using .msi instead of .exe for Windows installer
2025-03-19 13:54:25 -05:00
Janis Watts
07f70df43f
Updated migration test section (#27256)
Updated migration test section to reflect new fancy github action
instead of script
2025-03-19 10:00:38 -05:00
Victor Lyuboslavsky
eae1fd30a1
Add stale issues workflow (#27047)
Add stale issues workflow which:
- marks `~engineering-initiated` issues with `stale` label and comment
if they had no activity in the last 365 days (we have ~74 such issues
right now)
- closes `stale` issues after 14 days with no activity

Examples of "recent" stale issues:
- https://github.com/fleetdm/fleet/issues/13984
- https://github.com/fleetdm/fleet/issues/15571
- https://github.com/fleetdm/fleet/issues/16117
- https://github.com/fleetdm/fleet/issues/16352

Here's an example issue with a `stale` label. I ran the workflow and
marked 27 issues as `stale` that had no activity for 1000 days.
- https://github.com/fleetdm/fleet/issues/4631
2025-03-14 16:11:43 -05:00
Lucas Manuel Rodriguez
5a84fa0d11
Release fleetd 1.40.1 (#27157) 2025-03-14 17:10:15 -03:00
Lucas Manuel Rodriguez
b30a008aac
Simplify DB test/upgrade tool (#27141)
This PR simplifies the `test/upgrade` tool the QA team uses to test DB
upgrades.

- Removes "online migration" approach because we currently don't support
it (so it removes nginx as dependency).
- Adds a workflow to manually run this on Github actions (in case dev/QA
folks have issues with Docker on macOS, which is a common thing...)
- Adds logging to the output to ease troubleshoot (previous versions was
too quiet making it impossible to troubleshoot).
2025-03-14 17:07:41 -03:00
Lucas Manuel Rodriguez
30f1c329b4
Build orbit on ubuntu-20.04 (#27156)
For #27155.

Reverting to use ubuntu-20.04 to unblock the release of fleetd 1.40.1.
We'll need a proper solution for 1.41.0 given that ubuntu-20.04 will be
removed on April 1st 2025.

- [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.
2025-03-14 16:17:38 -03:00
Tim Lee
baf220a779
Fix: Update FMA Action (#27128) 2025-03-13 16:54:04 -06:00
Noah Talerman
3195d0f974
Air guitar process: add issue template & update process (#26808)
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-03-13 11:07:10 -05:00
Jahziel Villasana-Espinoza
4e325bb131
FMAv2 ingestion functionality (#27018)
> For #26083

# 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 automated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-03-12 17:51:14 -04:00
Lucas Manuel Rodriguez
a0be5164e3
Release fleetd 1.40.0 (#27053) 2025-03-12 13:15:38 -03:00
Robert Fairburn
f32f80261a
Add cloudfront to dogfood (#26962) 2025-03-12 10:59:39 -05:00
Scott Gress
caa91dbc04
Update goreleaser-fleet workflow to use ubuntu-22.04-4-cores runner (#26930)
For #26927 

See
[actions/runner-images#11101](https://github.com/actions/runner-images/issues/11101)
and https://github.com/fleetdm/fleet/pull/26466/files. Updating
explicitly to `ubuntu-22.04-4-cores` to not have it float with `latest`.
[Other](6e097988d5/.github/workflows/goreleaser-orbit.yaml (L81))
[goreleaser](6e097988d5/.github/workflows/goreleaser-snapshot-fleet.yaml (L40))
workflows use 22.04.
2025-03-10 10:01:36 -05:00
George Karr
4b3e2a0f69
Create design-qa-considerations.md (#26774)
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Sam Pfluger <108141731+Sampfluger88@users.noreply.github.com>
2025-03-07 15:32:41 -06:00
Noah Talerman
ba4608455f
Capital "D" in "Product Designer" (#26947) 2025-03-07 13:44:09 -06:00
Sarah Gillespie
44a985d06e
Update PR template with checklist item regarding potential load test impact of unreleased bug fixes (#26909) 2025-03-07 12:27:46 -06:00
Ian Littman
e7d04f2ff0
Clean up Python 3.12 vulns test expectations, fix continue-on-error behavior for integration and vulns suites (#26903)
From what I can tell, continue-on-error has been false for the
integration suites since the suites were renamed to `integration-*`, so
this fixes that issue in addition to continuing to run test suites when
the vulns suite fails (which may be due to vulns feed updates).

This also makes the vulns test more resilient to new CVEs being reported
on Python 3.12.0, which is rather likely to collect new CVEs.

# Checklist for submitter

- [x] Added/updated automated tests
2025-03-06 08:46:07 -06:00