Commit Graph
592 Commits
Author SHA1 Message Date
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
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
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
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
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 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
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
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
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
jacobshandlingandJacob Shandling 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
Lucas Manuel Rodriguez b73876878a Release osqueryd 5.15.0 (#25087) 2025-01-02 11:41:03 -03:00
jacobshandlingandJacob Shandling 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
Allen Houchins c50a096527 Add new "📱🔐 Personally-owned iPhones" team (#24952) 2024-12-20 14:24:59 -06: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
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
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
https://github.com/micromdm/nanomdm/tree/825f2979a2dc28c6cc57bb62aff16737978bd90e
- 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
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