Commit graph

705 commits

Author SHA1 Message Date
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
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
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
Lucas Manuel Rodriguez
e5fd094c68
Release osqueryd 5.16.0 (#26394)
For #26324.
2025-02-18 16:59:09 -03: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
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
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
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
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
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
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
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
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
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
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
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
Lucas Manuel Rodriguez
e861ae7319
Release fleetd 1.33.0 (#22283) 2024-09-23 06:59:04 -03: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
Ian Littman
ab996dc57d
Note that minimum MySQL version is 8.0.36 everywhere (not just 8.0) because that's what we test with (#22072)
Also mention that we test with 8.4.2 in a few more places.

Note that while I'm editing release articles, this isn't retconning
minimum requirements; we mention in 4.55.0 release notes further down
that we expect 8.0.36.
2024-09-13 10:59:38 -05:00
Roberto Dip
078c0ac3b7
document and use MDM SSO settings via gitops (#21869)
for #21313
2024-09-09 17:03:20 -03:00
Roberto Dip
70923b8352
add wait until mysql is ready (#21883) 2024-09-06 18:17:22 -03:00
Lucas Manuel Rodriguez
6a5c515dc4
Attempt to use go.mod version instead of hidden Github var (#21768)
Done as part of oncall improvements.

`vars.GO_VERSION` can only be changed by admins and it's not public
(Fleet devs don't know the current value of the variable), this approach
uses the version specified in our `go.mod` file.
2024-09-03 20:49:50 -03:00
Victor Lyuboslavsky
1b06b050d7
Fix issues with coverage uploads (#21736)
#21707
2024-09-03 09:07:16 -05:00
Lucas Manuel Rodriguez
ea7d08fc88
Release fleetd 1.32.0 (#21658)
Co-authored-by: Sharon Katz <121527325+sharon-fdm@users.noreply.github.com>
2024-08-29 18:51:10 -03:00
Lucas Manuel Rodriguez
8d4b7ad526
Remove unused workflow and dockerfile (#21551)
- `.github/workflows/push-osquery-perf-to-ecr.yml` has 0 workflow runs
(added but never used)
- `Dockerfile.osquery-perf` is only used by
`.github/workflows/push-osquery-perf-to-ecr.yml`.
2024-08-26 13:28:25 -03:00
Victor Lyuboslavsky
fdfc12982b
Improvements to go tests in CI (#21545)
#21546 
Some improvements to overall go test CI run time.
2024-08-26 08:55:53 -05:00
Eric
debb2d1790
Add app to manage scripts and profiles. (#21450)
Related to: #20296 

Changes:
- Added `ee/bulk-operations-dashboard`, a Sails.js app that lets users
manage configuration profiles and scripts across multiple teams on a
Fleet instance.
- Added a Github workflow to deploy the app to Heroku
- Added a Github workflow to test changes to the bulk operations
dashboard.
2024-08-22 14:59:15 -06:00
Lucas Manuel Rodriguez
ede0897acd
Pin trivy action (#21425)
Fixing code scanning warnings
https://github.com/fleetdm/fleet/security/code-scanning for the recently
added workflow.
2024-08-20 15:27:41 -03:00
Lucas Manuel Rodriguez
18f010f228
Update fleetdm/fleetctl, fleetdm/wix and fleetdm/bomutils docker images (#21063)
#20571

## Summary of changes

We have a few moving parts in fleetctl land (`fleetdm/wix` is used to
build `msi`s and `fleetdm/bomutils` is used to build `pkg`s, and
`fleetdm/fleetctl` can be used to build packages using docker, no need
for fleetctl executable):
```mermaid
graph LR

fleetctl_exec[fleetctl<br>executable];
wix_image[fleetdm/wix<br>docker image];
bomutils_image[fleetdm/bomutils<br>docker image];
fleetctl_image[fleetdm/fleetctl<br>docker image];

fleetctl_exec -- uses --> wix_image;

fleetctl_image -- COPY dependencies<br>FROM --> wix_image;

fleetctl_exec -- uses --> bomutils_image;

fleetctl_image -- COPY dependencies<br>FROM --> bomutils_image;
```
So, we'll need to update the three images: `fleetdm/bomutils`,
`fleetdm/wix` & `fleetdm/fleetctl`.

- `tools/bomutils-docker/Dockerfile`, `tools/wix-docker/Dockerfile` and
`tools/fleetctl-docker/Dockerfile`: Updating the base image to fix the
CRITICAL vulnerabilities.
- Modified existing+unused
`.github/workflows/build-and-check-fleetctl-docker-and-deps.yml` to run
every day to check for CRITICAL vulnerabilities in `fleetdm/wix`,
`fleetdm/bomutils` and `fleetdm/fleetctl`.
- `.github/workflows/goreleaser-fleetctl-docker-deps.yaml`:
`fleetdm/bomutils` and `fleetdm/wix` were pushed manually a few years
ago (most likely by Zach), so I've added a new action to release them
when we have changes to release (like now). It will basically release
`fleetctl/bomutils` and `fleetdm/wix` when pushing a tag of the form
`fleetctl-docker-deps-*` (we'll need to protect such tag prefix).
- Changes in `.github/workflows/test-native-tooling-packaging.yml` to
build `fleetdm/bomutils` and `fleetdm/wix` for `fleetdm/fleetctl` to use
them instead of the ones in docker hub.

--

Build before upgrading `debian:stable-slim`:

https://github.com/fleetdm/fleet/actions/runs/10255391418/job/28372231837
![Screenshot 2024-08-05 at 5 24
25 PM](https://github.com/user-attachments/assets/8a7d3576-3eb6-474f-989a-079873fca4fa)

Build after upgrading `debian:stable-slim`:
https://github.com/fleetdm/fleet/actions/runs/10255550034

- [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
2024-08-20 14:07:59 -03:00
Roberto Dip
f4820e2af9
Release fleetd 1.31.0 (#21391)
- **Release fleetd 1.30.0**
- **fix issue with disk encryption banner (#21385)**
- **Release fleetd 1.31.0**
2024-08-19 16:53:14 -03:00
Roberto Dip
936cc4a6d7
notify #help-engineering when a dogfood deploy is in progress (#21347)
This ensures `#help-engineering` is notified when a dogfood deploy is in
progress. It helps set people's expectations about what's going on while
the server is temporarily down.
2024-08-19 15:33:00 -03:00
Lucas Manuel Rodriguez
cdfa31ada5
Release osqueryd 5.13.1 (#21329) 2024-08-19 13:52:30 -03:00
Victor Lyuboslavsky
4eb72535dc
Support for MySQL 8.4.2 (#21364)
#21270

The main change for MySQL 8.4.2 is that foreign key constraints are
stricter:
https://dev.mysql.com/doc/refman/8.4/en/server-system-variables.html#sysvar_restrict_fk_on_non_standard_key

Also, most replica-related commands have been renamed.

# 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] If database migrations are included, checked table schema to
confirm autoupdate
- [x] Manual QA for all new/changed functionality
2024-08-16 16:32:38 +02:00
Dante Catalfamo
9a5e5372eb
SSVPP Backend and CLI (#21132)
#19882 and #20532
2024-08-14 10:25:32 -04:00
Luke Heath
34901a9dc7
Update goreleaser runner (#21226) 2024-08-09 10:50:43 -07:00
Roberto Dip
4853ecbf4e
Release fleetd 1.30.0 (#21071) 2024-08-06 07:32:24 -03:00
Lucas Manuel Rodriguez
ab7df5155d
Use docker compose on CI instead of docker-compose (#21017)
After this is merged I'll cherry pick to `minor-fleet-4.55.0`.
2024-08-02 18:12:36 -03:00
Lucas Manuel Rodriguez
2f479b3ba9
Release osqueryd 5.13.0 (#20949) 2024-08-02 14:57:50 -03:00
Dante Catalfamo
0a15647e10
Host software deleted at remigration (#20996)
# Recreate out of order migration, replace `docker-compose` with `docker compose` in db test runner
2024-08-02 10:47:40 -04:00
Lucas Manuel Rodriguez
6d87091a89
Release fleetd 1.29.0 (#20700) 2024-07-26 15:04:03 -03:00
Dante Catalfamo
5e1a3d03ae
MySQL 8.0 Migration (#20225)
#17249
2024-07-22 16:27:36 -04:00
Victor Lyuboslavsky
8c1c016b54
Don't stop unit tests if Go integration tests fail (#20628) 2024-07-20 19:22:07 +02:00
Lucas Manuel Rodriguez
84a81bafde
Release fleetd 1.28.0 (#20581)
Co-authored-by: Luke Heath <luke@fleetdm.com>
2024-07-19 12:47:00 -03:00
Dante Catalfamo
ecf2346ace
Add support for Linux ARM64 (#19931)
#1845

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Roberto Dip <rroperzh@gmail.com>
2024-07-17 16:07:59 -04:00
Luke Heath
d20ccd65d7
Run workflow on push to branches beginning the minor- (#20549) 2024-07-17 12:31:12 -07:00
Noah Talerman
02f4bfb794
Dogfood: best practice teams (#20359) 2024-07-15 16:22:15 -07:00
Lucas Manuel Rodriguez
2875a9dbb8
Fixes to fleetctl debug connection and TLS certs documentation (#20166)
#6085

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [X] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-07-09 14:04:23 -03:00
Victor Lyuboslavsky
4a09cd1ce8
Validate base-fleetd daily (#20196)
#19126
Validate base-fleetd daily

Workflow run: https://github.com/fleetdm/fleet/actions/runs/9781375393
2024-07-09 09:54:01 -05:00
Roberto Dip
01030cbde6
test approach for running integration suite in parallel (#20085)
for #18297

# 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
2024-07-01 11:37:12 -03:00
Victor Lyuboslavsky
6015717838
Releasing new fleetd-base flow (#20093)
#19182
Releasing new fleetd-base flow
- The flow has been QA'd
- The flow puts the generated files into new directories (`stable` and
`archive`), so risk is low
2024-06-28 12:57:14 -05:00
Dante Catalfamo
188b52c979
Generate a summary on any go-test failure, add context after panic (#20066)
Stops developers from having to manually grep through the logs to find
the failing test
2024-06-27 15:39:23 -04:00
Lucas Manuel Rodriguez
3c02ac1278
Add github action to check the auto-generated documentation is up-to-date (#20025)
Oncall project to keep auto-generated documentation up-to-date.
- Auto-generated documentation from Golang source code.
- Auto-generated table JSON schema from yaml files in `schema/tables/`
(we currently remind the developer to run the sails.js commands in the
PR or ask Eric to do it).

Sample of the failure if the developer forgot to run `make generate-doc`
(similar to `make test-db-schema`):
![Screenshot 2024-06-26 at 2 41
23 PM](https://github.com/fleetdm/fleet/assets/2073526/9bbfee24-f5cc-4ce5-bc90-5eb94231c24c)
2024-06-27 06:35:09 -03:00
Lucas Manuel Rodriguez
3a64c83145
Release fleetd 1.27.0 (#19933)
- **Release fleetd 1.27.0**

---------

Co-authored-by: George Karr <georgekarrv@users.noreply.github.com>
2024-06-21 16:00:13 -03:00
Lucas Manuel Rodriguez
addb665c8b
Dogfood iPhones team GitOps (#19897)
Changes to dogfood GitOps for #18866.
2024-06-20 17:13:24 -03:00
Luke Heath
0002b178ff
Schedule nightly gitops run in dogfood (#19816) 2024-06-17 14:12:17 -07:00
Victor Lyuboslavsky
d3b9bade74
Keep all fleetd-base and fleetd-chrome artifacts. (#19749)
#19182 and #19111

- Upload and keep all fleetd-base and fleetd-chrome artifacts
- Code sign fleetd-base.msi
- Verify checksums and try installing fleetd-base packages

These changes will apply the fleet-base workflow to
download-testing.fleetdm.com, and another PR will change to the
production endpoint (download.fleetdm.com) after QA.

## fleetd-base
Successful fleetd-base workflow run:
https://github.com/fleetdm/fleet/actions/runs/9522282299

New meta files will be in the `stable` directory:
- https://download-testing.fleetdm.com/stable/meta.json
- https://download-testing.fleetdm.com/stable/tuf-meta.json

The files in the root directory will no longer be updated for backward
compatibility.

## fleetd-chrome
Successful fleetd-chrome beta run:
https://github.com/fleetdm/fleet/actions/runs/9552391075/job/26328861033
2024-06-17 15:49:06 -05:00
Robert Fairburn
dcd551f671
initial osquery docker sidecar and osquery local builds (#19641) 2024-06-12 13:25:07 -05:00
Lucas Manuel Rodriguez
606635b131
Release fleetd 1.26.0 (#19673)
- **Release fleetd 1.26.0**

---------

Co-authored-by: Sharon Katz <121527325+sharon-fdm@users.noreply.github.com>
2024-06-11 19:51:57 -03:00
Roberto Dip
a24e665c13
Lock goreleaser version in CI to ~> 1 (#19529)
A few days ago, a new major version of goreleaser was published, which
is currently breaking our workflows:

```
⨯ command failed                                   error=unknown flag: --rm-dist
```

This locks the version to a max satisfying semver under 1 until we have
time to update to the new major.
2024-06-05 13:35:28 -03:00
Victor Lyuboslavsky
f761827850
Move CalculateAggregatedPerfStatsPercentiles reads to the replica (#19206)
Move CalculateAggregatedPerfStatsPercentiles reads to the replica
#18838

I manually tested the aggregated query stats change by using a read
replica.
https://github.com/fleetdm/fleet/blob/main/tools/mysql-replica-testing/README.md
- But set `master_delay=0` due to issue
https://github.com/fleetdm/fleet/issues/19272
- Run a saved query as a live query, and see that its stats in
`aggregated_stats` table are updated.


# Checklist for submitter
- [x] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://fleetdm.com/docs/contributing/committing-changes#changes-files)
for more information.
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality
2024-05-31 07:08:31 -05:00
JD
94be5c0a9c
Adds VM team to gitops (#19316)
Adds Virtual machines team to gitops. fleetdm/confidential#6762

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-05-29 11:19:24 -07:00
Lucas Manuel Rodriguez
a10befe657
Release fleetd 1.25.0 (#19203) 2024-05-22 14:38:24 -03:00
Victor Lyuboslavsky
d1b1c181f1
Refactoring fleetd-chrome workflows to use R2 upload action (#19157)
Refactoring fleetd-chrome workflows to use the reusable R2 upload
action.
2024-05-21 09:23:03 -05:00
Victor Lyuboslavsky
550f08d62d
Generate plist for fleetd-base pkg. (#19112)
#19111 
Generate plist for fleetd-base pkg.

Currently configured for TESTING. Uploaded file:
https://download-testing.fleetdm.com/fleetd-base-manifest.plist
2024-05-17 13:48:53 -05:00
Victor Lyuboslavsky
4d671e63d4
fleetd-chrome v1.3.1 release (#19087)
#18811

* Fixed bug where fleetd-chrome sent multiple read requests to Fleet
server at the same time.

* Improved console log output messages when Fleet server is down.
2024-05-16 16:39:36 -05:00
Lucas Manuel Rodriguez
fd323a3909
Catch FAIL and panic: runtime error in CI (#19009)
This is just a CI change to catch these other type of errors and display
them on the Slack message:

Instead of showing just `unknown, please check build URL`:
![Screenshot 2024-05-15 at 8 34
19 AM](https://github.com/fleetdm/fleet/assets/2073526/bd66def6-50de-4ee5-8ccd-17a7cf0741ae)
2024-05-15 10:01:26 -03:00
Lucas Manuel Rodriguez
b9d38c4b66
Bump osqueryd version to 5.12.2 (#18893) 2024-05-09 19:00:27 -03:00
Victor Lyuboslavsky
ed792e078f
Updated release-fleetd-base workflow to use production values. (#18887)
#16347 
Updated release-fleetd-base workflow to use production values.
2024-05-09 14:56:04 -05:00
Victor Lyuboslavsky
c2df15dfd1
In GitOps workflow, do dry run on pull request. (#18854) 2024-05-08 14:58:56 -05:00
Dante Catalfamo
2c6e7c71a8
Zsh script support (#18411)
#17321
2024-04-30 14:38:56 -04:00
Tim Lee
0a27843b83
bump golangci-lint to 1.55.2 (#18604) 2024-04-30 08:59:14 -06:00
Victor Lyuboslavsky
bf0f6ec55a
Added release-fleetd-base workflow. (#18194)
#16347

New GitHub workflow.
- Uses `tools/tuf/status/tuf-status.go` to check the latest
osquery/orbit/fleet-desktop versions
- Uploads https://download-testing.fleetdm.com/meta.json to keep track
of versions
- macOS: https://download-testing.fleetdm.com/fleetd-base.pkg
- Windows: https://download-testing.fleetdm.com/fleetd-base.msi

This version creates and uploads macOS and fleetd base packages to
https://download-testing.fleetdm.com

QA instructions updated in the issue. After QA, we will update the
workflow to upload to https://download.fleetdm.com
2024-04-29 11:51:40 -05:00
Victor Lyuboslavsky
9ff682e0ff
Windows orbit.exe and fleet-desktop.exe are now signed. (#18201)
#17187 

Windows orbit.exe and fleet-desktop.exe are now signed.

Signed fleet-desktop.exe artifact at:
https://github.com/fleetdm/fleet/actions/runs/8834788809
Signed orbit.exe artifact at:
https://github.com/fleetdm/fleet/actions/runs/8834817940

For signing fleetctl.exe, opened a new issue:
https://github.com/fleetdm/fleet/issues/18540
2024-04-26 12:46:23 -05:00
Roberto Dip
7edd756237
increase timeout for the installation of Colima (#18533)
saw many jobs timeout and fail. Optionally, should we use `macos-12`
that comes with Colima pre-installed? can make that change as well, just
lmk
2024-04-25 13:10:14 -03:00
Roberto Dip
e4ebe31971
use Colima for CI runners (#18495)
The `macos-latest` runner is using `macos-14` + ARM now, which was
causing the Docker install to fail.

I switched to `macos-13` since seems to be a cheap x86_64 alternative
and figured what was the problem with Colima so we don't have to deal
with Docker anymore.
2024-04-24 08:38:07 -03:00
Roberto Dip
d677546e04
sign fleetctl for macOS during releases (#16670)
possible approach to solve #16664

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2024-04-19 14:36:30 -03:00
Lucas Manuel Rodriguez
83342c4042
Add reviewers to automated PRs (#18390)
I was thinking on adding `team-reviewers: go`, but there's the following
note on the github's action repository, so let's start simple:
![Screenshot 2024-04-18 at 9 30
51 AM](https://github.com/fleetdm/fleet/assets/2073526/9477038a-320d-4aa0-860b-d18faf962f03)
2024-04-18 10:51:07 -03:00
Lucas Manuel Rodriguez
78fc11dd4e
Release fleetd 1.24.0 (#18378)
- **Release fleetd 1.24.0**
2024-04-17 18:37:53 -03:00