Commit graph

950 commits

Author SHA1 Message Date
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
Victor Lyuboslavsky
46719c9fb2
Auto-generate and check Android schema.sql (#26720)
For #26218 

This is an infrastructure change. No functional feature changes.
2025-02-28 16:30:40 -06:00
Luke Heath
658330d4f4
Enable Android in dogfood (#26735) 2025-02-28 16:26:11 -06:00
Scott Gress
f7e4a39915
Add help system to Makefile + FDM command (#25028) 2025-02-28 07:42:32 -06:00
Lucas Manuel Rodriguez
74f7548fd1
Add workflow to update timestamp on new repository (#26635)
For #26482.
2025-02-27 18:02:42 -03:00
Lucas Manuel Rodriguez
5e453b7ca6
Check for timestamps on the new TUF repository (#26638)
For #26483.
2025-02-27 17:59:11 -03:00
Lucas Manuel Rodriguez
6e097988d5
Update ubuntu-20.04 to ubuntu-22.04 on CI actions due to deprecation (#26466)
> We will soon start the deprecation process for Ubuntu 20.04. While the
image is being deprecated, you may experience longer queue times during
peak usage hours. Deprecation will begin on 2025-02-01 and the image
will be fully unsupported by 2025-04-01.

From https://github.com/actions/runner-images/issues/11101.

![Screenshot 2025-02-19 at 4 39
10 PM](https://github.com/user-attachments/assets/803e8ed3-31b0-4221-9d29-446a0d305567)
2025-02-21 13:11:50 -03:00
Janis Watts
3ee2c0c3b1
Update fleetd smoke tests (#26467)
Added additional section in fleetd testing to include testing against
the current released version of fleet. Outcome of Incident Postmortem
#26283
2025-02-20 16:57:31 -06:00
Allen Houchins
0a94f81431
Switched from metadata_url to metadata for end user authentication (#26042)
Switched from metadata_url to metadata for end user authentication.

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2025-02-20 10:02:24 -06:00
Sam Pfluger
cd36118e63
Update labels and slack channels (#26481) 2025-02-20 01:28:15 -06:00
Lucas Manuel Rodriguez
306d1c91c5
Add reminder must rule (#26461)
Related to fleetd critical issue in 1.39.0.
2025-02-19 16:31:43 -03:00
Allen Houchins
330eed346e
Update dogfood-policy-updater-latest-macos.sh (#26456)
Added more reviewers
2025-02-19 11:00:22 -06:00
Lucas Manuel Rodriguez
e5fd094c68
Release osqueryd 5.16.0 (#26394)
For #26324.
2025-02-18 16:59:09 -03:00
Noah Talerman
cdaee64094
User story template (#26364)
We're not ready for 320px yet but we will be soon!
2025-02-14 17:34:21 -05:00
Allen Houchins
83ffe1791b
Update dogfood-policy-updater-latest-macos.sh (#26359)
Updated reviewers list to not include the author as a reviewer
2025-02-14 14:52:59 -06:00
Allen Houchins
1ec82f1544
Added troubleshooting logic (#26357)
Added troubleshooting logic to the
dogfood-policy-updater-latest-macos.sh script
2025-02-14 14:39:58 -06:00
Allen Houchins
2afff8242e
Update dogfood-policy-updater-latest-macos.sh (#26351)
Updated script to automatically add reviewers to the pull request that
is created.
2025-02-14 14:10:34 -06:00
Tim Lee
c582f74fdd
Release fleetd 1.39.1 (#26314) 2025-02-13 16:26:18 -07:00
Martin Angers
240f55b9e8
Add script execs and software installs stats to osquery-perf (#26239) 2025-02-11 12:46:53 -05:00
Allen Houchins
94f620a76f
Update dogfood-policy-updater-latest-macos.sh (#26248)
Updated variable names in script.
2025-02-10 19:06:33 -06:00
Janis Watts
27d8f8ee4b
Update release-qa.md with load test expectations (#26181) 2025-02-08 23:17:57 -06:00
Lucas Manuel Rodriguez
a216c9d9e5
Release fleetd 1.39.0 (#26185) 2025-02-07 18:52:06 -03:00
Lucas Manuel Rodriguez
9114d0405b
Update TUF status generation to use new TUF repository (#26099)
For #25853.
2025-02-07 08:30:07 -03:00
Janis Watts
c9ee26b41a
Updating Release QA: template (#26157)
Updating the orbit/fleetd testing section to better reflect current
testing process
2025-02-06 19:04:54 -06:00
Scott Gress
5c0b2dc6b0
Use tag rather than commit sha when attesting images (#26032) 2025-02-04 16:11:02 -06:00
StepSecurity Bot
d109e72cbe
[StepSecurity] ci: Harden GitHub Actions (#25985) 2025-02-03 12:25:18 -06:00
Luke Heath
e9b55e6ef9
Revert goreleaser test changes (#25949) 2025-01-31 15:03:56 -06:00
Allen Houchins
99ce080e3e
Implement policy checks and automated updates (#25829)
This is the initial pull request to implement keeping policy logic up to
date automatically. For example, when a new version of macOS releases,
admins don't need to manually update the policy logic for checking
version numbers.

This is currently blocked by this issue: fleetdm/confidential#9470
This is also to support the following issue and demonstrate to customers
a fully automated patch management strategy:
https://github.com/fleetdm/confidential/issues/8825

This current iteration contains a script/workflow that runs every 6
hours to check if a new version of macOS has been released and compares
the version string to what is currently defined in our policy. If it
detects a change, it will automatically create a new branch with the
updated version string and create a pull request to be reviewed before
merging.
2025-01-30 20:55:22 -06:00
Marko Lisica
6bdc87bb18
Add GitOps mode to product changes section (#25890)
Added new checkbox to "Product" section for GitOps mode.
2025-01-30 17:28:25 -05:00
Luke Heath
8d5154c015
Build fleetctl linux arm64 binary (#25905) 2025-01-30 15:39:53 -06:00
Allen Houchins
52d5632e37
Updates for webhooks (#25806)
To support these dogfooding changes: fleetdm/confidential#9198
2025-01-28 20:58:12 -06:00
Lucas Manuel Rodriguez
b0b1dd5445
Release fleetd 1.38.1 (#25786) 2025-01-28 19:38:24 -03:00
Lucas Manuel Rodriguez
fca0ea5bc1
Manual workflow to test fleetd-base.msi (#25808)
Manual workflow to test `fleetd-base.msi` using e.g. `edge` channels.

Similar to the existing:
https://github.com/fleetdm/fleet/blob/main/.github/workflows/build-fleetd-base-pkg.yml
2025-01-28 15:55:32 -03:00
Lucas Manuel Rodriguez
734b4bd23b
Release fleetd 1.38.0 (#25763) 2025-01-27 16:34:59 -03:00
Rachael Shaw
cf6fc69224
Update bug report issue template (#25686)
Add product designer to commented-out "to fix" section.
2025-01-23 16:58:47 -06:00
Victor Lyuboslavsky
07416c29ef
Update deprecated actions/upload-artifact missed in previous PR. (#25724) 2025-01-23 10:50:55 -06:00
Allen Houchins
e90574b808
Enable activities webhook via GitOps (#25690)
Dogfooding this feature: fleetdm/confidential#9337
2025-01-22 15:00:07 -06:00
Eric
12d8017ff9
Update node version used in website workflows. (#25605)
Changes:
- Bumped the node version used in the "Deploy Fleet website" and "Test
Fleet website" workflows (`16.x` » `20.x`) to fix an [error with the
upgraded version of
Storybook](https://github.com/fleetdm/fleet/actions/runs/12872094872/job/35886819520?pr=25601)
(which requires node 18 or higher).
2025-01-20 14:33:43 -06:00
Gabriel Hernandez
8168ff3655
update storybook to 8.4.7 (#25451)
For #25349

This updates storybook and its addons to 8.4.7. This is done to remove
the transitive dependency on path-to-regexp,
which is no longer used in this version of storybook.

This will fix the original vulnerability issue for `path-to-regexp`
2025-01-20 16:17:33 +00:00
Gabriel Hernandez
22baa5af94
bump action/cache to version 4.2.0 (#25508)
For #25507

A bump to the latest version to the github `cache` action to 4.2.0. our
current version (v2) was deprecated. more info for the deprecation can
be found here https://github.com/actions/cache/discussions/1510

- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
2025-01-17 15:01:27 +00:00
Noah Talerman
e9ba7303cb
Update story issue template (#25521)
User stories that are yet to be prioritized are clogging up the "New
requests" column on the drafting board. Only new feature requests should
show up in this column
2025-01-16 16:01:54 -06:00
Noah Talerman
d5626acc6c
Dogfood hiding secrets added via YAML (#25384) 2025-01-15 13:40:39 -06: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
0e914f839a
Updating drafting process to include test plans (#25256) 2025-01-10 17:03:56 -05:00
Dante Catalfamo
8c338a1d77
Try splitting up integration tests (#25312)
Follow up to #25271 and #21774

Integration test failures will happen much faster of they occur, but now
the bottleneck is the `fleetctl` test suite.

It's trivial to continue splitting tests up now. We should look into
creating an action that checks that mock generation is up-to-date, run
it before all the tests, and then remove the mock generation step from
each test step. That would save about a minute and a half of runtime
from each test and help offset the cost of splitting the tests up.

![ci runtime
breakdown](https://github.com/user-attachments/assets/057b8ee1-782c-4e1f-9486-42c7d1169c81)
![ci runtime
max](https://github.com/user-attachments/assets/3a26995f-d9cb-490b-84d9-1a7fbb3cd6b3)

![image](https://github.com/user-attachments/assets/b4c888c8-867f-4bdd-9b69-0dc20d0d202a)
2025-01-10 12:52:13 -05:00
Lucas Manuel Rodriguez
7e419f97cb
Fix missing docs and yaml (#25333) 2025-01-10 11:42:55 -06:00
Scott Gress
147c5542e8
fix path to artifacts json (#25331) 2025-01-10 11:40:46 -06:00
Lucas Manuel Rodriguez
009f54bdda
Changes to migrate to new TUF repository (#23588)
# Changes

- orbit >= 1.38.0, when configured to connect to
https://tuf.fleetctl.com (existing fleetd deployments) will now connect
to https://updates.fleetdm.com and start using the metadata in path
`/opt/orbit/updates-metadata.json`.
- orbit >= 1.38.0, when configured to connect to some custom TUF (not
Fleet's TUFs) will copy `/opt/orbit/tuf-metadata.json` to
`/opt/orbit/updates-metadata.json` (if it doesn't exist) and start using
the latter.
- fleetctl `4.63.0` will now generate artifacts using
https://updates.fleetdm.com by default (or a custom TUF if
`--update-url` is set) and generate two (same file) metadata files
`/opt/orbit/updates-metadata.json` and the legacy one to support
downgrades `/opt/orbit/tuf-metadata.json`.
- fleetctl `4.62.0` when configured to use custom TUF (not Fleet's TUF)
will generate just the legacy metadata file
`/opt/orbit/tuf-metadata.json`.

## User stories

See "User stories" in
https://github.com/fleetdm/confidential/issues/8488.

- [x] Update `update.defaultRootMetadata` and `update.DefaultURL` when
the new repository is ready.
- [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 tests
- [X] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [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-01-10 14:27:30 -03:00
Victor Lyuboslavsky
dfa9a90775
Updating deprecated actions/download-artifact (#25296) 2025-01-09 12:58:59 -06:00
Dante Catalfamo
e6fb647d95
Run CI tests in parallel (#25271)
#21774

Improves run time by about 30%.

Things have been arranged in such a way that splitting modules out
further will be trivial in the future, such as breaking the different
integration test suited into their own units.


![image](https://github.com/user-attachments/assets/ead46e4c-6f14-406d-a29b-b25abc79c384)


![image](https://github.com/user-attachments/assets/3f7fd7f3-d7a8-4ff8-a184-646a72f1d015)
2025-01-09 13:38:24 -05:00
Victor Lyuboslavsky
b1891b8838
Update deprecated actions/upload-artifact to v4.5.0 (#25295) 2025-01-09 12:08:02 -06:00
Janis Watts
ed56986918
Update release-qa.md (#25273)
On issue template, split tests into product groups, update dead link
2025-01-08 20:00:58 -06:00
Janis Watts
8d090355ea
Update release-qa.md with new team labels (#25246)
Only changed #g-endpoint-ops to #g-orchestration and added #g-software
2025-01-08 10:37:26 -06:00
Robert Fairburn
8449879c81
Changes needed for new dogfood monitoring (#25147) 2025-01-06 10:34:36 -06:00
Scott Gress
9181ba7053
Update Dogfood monitoring to v1.5 (#24425) 2025-01-03 16:24:01 -06:00
Ian Littman
5892edf466
Add "should have a QA plan on the associated ticket" to PR checklist (#25053) 2025-01-02 15:41:19 -06:00
Victor Lyuboslavsky
0b9f36ad03
Enable MySQL 9.1 Go tests (#25055)
Enable MySQL 9 tests in the nightly Go test run.

The tests passed in my run:
https://github.com/fleetdm/fleet/actions/runs/12552738253/job/34999129651
2025-01-02 15:36:10 -06:00
jacobshandling
120f01ad1e
Fix verify fleetd-base files > verify-fleetd-base-msi powershell script (#25064)
See failed workflow run
[here](https://github.com/fleetdm/fleet/actions/runs/12555703803)

- Fix the powershell script that was broken by `.yml` auto-format
- Exclude github workflow `.yml` files from prettier autoformating,
since they often contain non-yaml code as part of job definitions

- [ ] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-01-02 10:24:25 -08:00
Ian Littman
bbc35cb76b
Include pre-releases when building osquery version list constant (#25089)
Also updates said constant via this script to include 5.15.0. Idea for
this is that including pre-releases as they're published ensures that by
the time the corresponding Fleet release ships we have a current list,
without having to cherry-pick these updates.

# 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] Manual QA for all new/changed functionality
2025-01-02 11:38:15 -06:00
Lucas Manuel Rodriguez
b73876878a
Release osqueryd 5.15.0 (#25087) 2025-01-02 11:41:03 -03:00
jacobshandling
ca37183e5c
generate Slack notfication if any of the 3 verify fleetd-base steps fail (#25049)
## #24531 

These changes were approved by @lucasmrod
[here](https://github.com/fleetdm/fleet/pull/25019)

"<test - ignore me>" will not be present in real notifications 
<img width="652" alt="398807048-d208c9f8-999e-4c0a-a818-5e72570481ab"
src="https://github.com/user-attachments/assets/a06f63a8-e5b7-4b5a-881d-606b3e66c6d9"
/>

- [x] Manual QA for all new/changed functionality

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-30 12:46:50 -08:00
Noah Talerman
5abf9df8a2
Update user story issue template (#25006)
- Add reminders to draft Fleet's new minimum screen width (320px) and
transparency (core to Fleet)
2024-12-24 13:41:33 -05:00
Noah Talerman
6cde77f5f9
Update story issue template (#24874)
- Link to handbook for new guidelines on API/YAML wireframes.
- New guidelines are in a PR here:
https://github.com/fleetdm/fleet/pull/24796
2024-12-20 15:26:49 -05:00
Allen Houchins
c50a096527
Add new "📱🔐 Personally-owned iPhones" team (#24952) 2024-12-20 14:24:59 -06:00
Gabe Lopez
360e47da0d
Update release-qa.md (#24926)
updated a few sections and added iOS/iPadOS tests

# Checklist for submitter

---------

Co-authored-by: Janis Watts <184028114+jmwatts@users.noreply.github.com>
2024-12-19 14:16:19 -08:00
Ian Littman
11c316e653
Pin Python version in GitHub Actions for osquery version updater, use Python HTTP client directly to avoid needing to figure out how to pin requests lib (#24861)
For #24274. Skipping changes file since this is an internal tool.

# Checklist for submitter
- [x] Manual QA for all new/changed functionality
2024-12-18 14:04:39 -06:00
Scott Gress
0e5541979a
Update attestation implementation (#24837)
for #23825 

This PR fixes the previous implementation for attesting
fleet/fleetctl/orbit binaries, and adds attestation to the fleet desktop
and osqueryd artifacts.

* correct permissions are added to all jobs
* tag removed from `subject-name` when attesting docker image
* using `artifacts.json` rather than the `artifacts` step output from
goreleaser to determine image digest

I'd like to add a separate job verifying the attestations, working on
that now but since all attestation steps are marked as
`continue-on-error` it can be a follow-on if we don't get it in with
this PR.
2024-12-17 15:26:59 -06:00
Noah Talerman
7d7fc7b249
Update user story template: activity change (#24772)
- PR will be merged in when it's approved like API/YAML design PRs
- When we build the feature, the doc changes will get squished by auto
generated docs:
https://fleetdm.com/handbook/company/communications#audit-logs
2024-12-13 16:47:38 -05:00
Lucas Manuel Rodriguez
7d0609341e
Release fleetd 1.37.0 (#24752) 2024-12-13 17:08:36 -03:00
Scott Gress
1c3487ad86
Create RandoKiller™ to help diagnose and fix flaky tests (#24696)
This PR adds a new workflow called "Stress Test Go Test" (aka the
RandoKiller) that allows running one or more tests repeatedly up to a
set number of times, or until a test fails. This is useful for:

* Trying to diagnose and debug a flaky test
* Verifying that a proposed fix for a flaky test actually works.

To use:

1. Create a branch whose name ends with "-randokiller"
2. Modify the .github/workflows/config/randokiller.json file to your
specifications (choosing the packages and tests to run, the mysql
matrix, and the number of runs to do)
3. Push up the branch

Since the stress test is intended to run a branch that you'll never
merge, you should feel free to add whatever logs to your tests or code
that will help diagnose failures.

I used this to diagnose and fix
https://github.com/fleetdm/fleet/pull/24697!
2024-12-12 12:02:21 -06:00
Robert Fairburn
e361073fca
Update terraform version used in tfvalidate (#24699) 2024-12-12 11:25:26 -06:00
Scott Gress
149e5b129f
23285 add attestation (#24604) 2024-12-10 16:02:08 -06:00
Scott Gress
4a623812e8
Add notification for dogfood GitOps failures (#24402)
for #19106 

This PR adds a Slack notification when the GitOps run fails in the
dogfood-gitops workflow. Whenever the actual GitOps action fails, it
should notify #help-dogfooding with a link to the failed action. Note
that this will alert on both merges to main and scheduled runs, which I
think we want. Also note that this is [currently failing on
main](https://github.com/fleetdm/fleet/actions/runs/12154006118) so this
alert will start going off daily until the issue is fixed 😶

### > Note: this will need a new Slack incoming webhook for sending
messages to #help-dogfooding, and a new
`SLACK_G_HELP_DOGFOODING_WEBHOOK_URL` repo secret with the webhook URL.

I tested this on a personal private repo just to make sure I got all the
syntax right:

<img width="422" alt="image"
src="https://github.com/user-attachments/assets/74d188eb-5c03-471b-a5db-9f578a56e2ab">
2024-12-10 13:39:32 -06:00
Victor Lyuboslavsky
f2fc2bc0ea
Add retry to fleetd base pkg build. (#24489) 2024-12-09 13:24:38 -06:00
Noah Talerman
99eb986f47
Update story issue template (#24560) 2024-12-09 19:52:48 +01:00
Tim Lee
7547dcb74e
bugfix: orbit linux zenity progress windows (#24280) 2024-12-05 08:02:03 -07:00
Scott Gress
04010ba5f3
Use goreleaser v2 in CI (#23748) 2024-12-03 16:15:31 -06:00
Lucas Manuel Rodriguez
8dbfbad167
Add github action to automate timestamp update (#24074)
#23042
2024-11-27 16:13:54 -03:00
Lucas Manuel Rodriguez
7d04119245
Release fleetd 1.36.0 (#24136) 2024-11-25 16:34:09 -03:00
Marko Lisica
04d1ded81a
Remove step to apply env variables to profiles (fleetctl gitops is doing this) (#24078)
I beleive we don't need this step anymore, since `fleetctl gitops` will
replace it with real value and send to the server. This should be done
in #17309.
2024-11-22 19:30:40 +01:00
Lucas Manuel Rodriguez
a8ba004c61
Add expiration checks for targets and snapshot roles (#24081)
[#8489](https://github.com/fleetdm/confidential/issues/8489)

We had the timestamp check.
Robert added the root check recently.
Am now duplicating the check for `snapshot` and `targets` metadata
files.

PS: Please review with whitespace changes disabled.
2024-11-22 14:46:03 -03:00
Victor Lyuboslavsky
e4df954b0f
Update nanomdm dependency with latest bug fixes and improvements. (#23906)
#23905 

- Update with upstream nanomdm changes up to
825f2979a2
- Removed PostgeSQL folder from our nanomdm
- Added nanomdm MySQL test job to our CI

# 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 tests
- [x] Manual QA for all new/changed functionality
2024-11-20 11:47:11 -06:00
Noah Talerman
18f6011d42
Update story.md (#23917) 2024-11-18 15:39:09 -06:00
Lucas Manuel Rodriguez
c93a28b00f
Fix build-fleetd_tables.yml workflow (#23875)
This fixes the workflow, successful run:
https://github.com/fleetdm/fleet/actions/runs/11864218412
2024-11-15 19:41:19 -03:00
Lucas Manuel Rodriguez
c993e5a485
Add workflow to build fleetd_tables (#23873)
Workflow to build `fleetd_tables` in Github.
2024-11-15 19:05:07 -03:00
Robert Fairburn
e20820dfe5
Deploy to free.fleetdm.com before dogfood (#23762) 2024-11-13 11:17:23 -06:00
StepSecurity Bot
552e76b68e
[StepSecurity] ci: Harden GitHub Actions (#23765) 2024-11-13 10:43:13 -06:00
Noah Talerman
02d3f118bf
Update story issue template (#23741) 2024-11-13 10:23:10 -06:00
Lucas Manuel Rodriguez
299a7999b2
Fix trivy fleetctl workflow (#23643)
Exactly same fix as #23634.

PS: Thanks @sgress454!
2024-11-12 14:58:41 -03:00
Scott Gress
1551157c23
Fix rate limiting issue in Trivy workflow scan (#23634) 2024-11-07 15:06:17 -06:00
Robert Fairburn
e525eed606
Include root.json in check-tuf-timestamps.yml (#23608) 2024-11-07 11:32:01 -06:00
Lucas Manuel Rodriguez
c09360aabb
Add workflow to ease QA of ADE workflows (#23470)
From discussions with @jahzielv.

QAing ADE flows:

1. New version of fleetd is pushed to `edge`
2. QA folks can trigger this new workflow and download the generated
`fleetd-base.pkg` and `fleetd-base-manifest.plist`.
3. Host the downloaded files (in `foobar/`) in their ngroks URLs (using
e.g. `go tools ./tools/file-server 8085 foobar/`)
4. Use Fleet's `FLEET_DEV_DOWNLOAD_FLEETDM_URL` to point the Fleet
server to their ngrok URL.
2024-11-05 05:28:50 -03:00
Lucas Manuel Rodriguez
3cdafcee5f
Release fleetd 1.35.0 (#23467) 2024-11-04 11:39:46 -03:00
RachelElysia
951542dacf
Fleet UI: Automatically create a PR if Osquery version is not up to date in UI (#23290) 2024-10-30 16:35:44 -04:00
Victor Lyuboslavsky
d0ed03f3c8
Update Go CI tests: MySQL 8.4.2 -> 8.4.3 (#23255)
Make sure Fleet works with the latest MySQL 8.4
2024-10-25 15:58:10 -05:00
Victor Lyuboslavsky
40f7cdf547
Added Render deploy workflow for fleet-gitops CI. (#23190)
#21715 

# Checklist for submitter
- [x] Manual QA for all new/changed functionality
2024-10-25 15:55:42 -05:00
Noah Talerman
7d4d87d981
Feature request issue template: remove ~feature fest label (#23185)
https://github.com/fleetdm/fleet/pull/23184/files#diff-c99d12c3af50c0c2aca2b9ef7597c02ccfe87678291956ff0b2e83d63978ea38R368
2024-10-24 13:45:42 -04:00
Ian Littman
921d8c8afd
Check for TUF expirations 2x daily, and warn 4 days in advance rather than 2 (#23039) 2024-10-23 10:06:03 -05:00
Lucas Manuel Rodriguez
103727b5f4
Use ubuntu 22.04 for trivy ci scheduled check (#23088)
Fixing these failures:
https://github.com/fleetdm/fleet/actions/runs/11454239765/job/31881900492

Following this advice
https://github.com/orgs/community/discussions/139074#discussioncomment-10935090.
It seems it works.
2024-10-22 15:41:32 -05:00
Lucas Manuel Rodriguez
2c891447d4
Release osqueryd 5.14.1 (#23045) 2024-10-22 12:27:00 -05:00
Sam Pfluger
fe59c7482c
Remove CPE (#23007) 2024-10-22 10:59:16 -05:00
Victor Lyuboslavsky
f85b6f776f
Updating golangci-lint to 1.61.0 (#22973) 2024-10-18 12:38:26 -05:00
Eric
3dda9d0252
Delete deploy-bulk-operations-dashboard workflow (#22940)
Closes: https://github.com/fleetdm/confidential/issues/8351


Changes:
- Deleted the "Deploy app to bulk operations dashboard pipeline on
Heroku" workflow. This dashboard is now hosted in Render, and deploys
are triggered manually via the Render dashboard.
2024-10-18 12:02:21 -05:00
Sam Pfluger
56d4e596c7
Create website-request.md (#22974) 2024-10-16 17:51:08 -05:00
Eric
cb67c32afc
Change Ubuntu version in Heroku deploy workflows (#22939)
Closes: #22931

Changes:
- Updated the deploy workflows for the Fleet website and the
vulnerability dashboard to run on Ubuntu 22.04 to prevent issues we've
been seeing with the Heroku deploy action and the latest version of
Ubuntu.
2024-10-15 16:20:12 -05:00
Luke Heath
b394f4f65b
Update docker publish branch rules (#22806) 2024-10-10 11:20:06 -05:00
Tim Lee
1ecdad24ad
Remove panic recovery in CI tests (#22644) 2024-10-09 18:29:14 -06:00
Noah Talerman
2839fe1187
Story issue template (#22695)
- Add "Objective" and "Original requests" section
  - Remove "Requestor" item b/c it's now covered by original requests
2024-10-08 13:28:38 -05:00
Lucas Manuel Rodriguez
008938b405
Reduce test-packaging.yml runs on main (#22670)
Last change for #22206.

No need to run this workflow on **every** push to `main`. Let's match
the PR paths.
2024-10-04 16:58:38 -03:00
Lucas Manuel Rodriguez
2cb17b34d3
Disable test packaging of MSI on macOS Github runners (#22562)
#22206

This was discussed in the backend weekly.

Currently the test-packaging.yml is extremely unreliable (it has more
failures than successes), because of issues with Docker and colima on
Github macOS runners (we tried docker then colima but both have issues,
timeouts, etc.).

This only removes testing of MSI package generation from macOS. IMO this
is low risk as almost all Fleet devs generate MSI packages from their
macOS workstations.
2024-10-04 16:33:42 -03:00
Lucas Manuel Rodriguez
d8b67807ba
Release fleetd 1.34.0 (#22602) 2024-10-02 19:21:06 -03:00
Lucas Manuel Rodriguez
f8fff1685d
Fix lint-js (#22557)
I missed this change in https://github.com/fleetdm/fleet/pull/22504
2024-10-01 18:25:17 -03:00
Lucas Manuel Rodriguez
a9a9e92f3f
Use node version defined in package.json (#22504)
We did the same thing for Go. (This allows us to not require admin
permissions to update the used Node version in CI.)
2024-10-01 17:38:22 -03:00
Ian Littman
59160c2f30
Exclude migration tests from migration timestamp/ordering check (#22496)
This fix applies to cases (e.g.
00ec402f18) where order of files being
added is e.g.:

1. Migration A
2. Migration B
3. Test for migration A

This also reorders workflow steps so the ones that don't require setting
up Go + compiling happen first, so if we have a migration issue it gets
reported sooner.

# Checklist for submitter

- [x] Manual QA for all new/changed functionality
2024-09-30 09:53:19 -05:00
Sam Pfluger
d29189f8eb
Change digital experience request to default to confidential (#22443) 2024-09-26 16:06:45 -05:00
Lucas Manuel Rodriguez
e861ae7319
Release fleetd 1.33.0 (#22283) 2024-09-23 06:59:04 -03:00
Noah Talerman
b5fcaa73dc
Update story template (#22280)
- Reminder to use the reference docs branch instead of `main` (also no
more draft PRs)
2024-09-22 22:01:53 -05:00
Lucas Manuel Rodriguez
c49bed104d
Add CI check to detect issues with pushed fleetdm/fleetctl docker image (#22020)
Adds detection of issues like #21992.
2024-09-16 13:05:28 -03:00