Commit Graph
14872 Commits
Author SHA1 Message Date
b5d17fca4d Implement 1Password automatic updates via config profile using "Inclu… (#24887)
Implement 1Password automatic updates via config profile using "Include
any" labels

https://github.com/fleetdm/confidential/issues/9041

---------

Co-authored-by: Allen Houchins <allenhouchins@mac.com>
Co-authored-by: Allen Houchins <32207388+allenhouchins@users.noreply.github.com>
2024-12-19 17:41:58 -06:00
Drew Baker 1c478f58a3 Update fintech-company-migrates-to-fleet.md (#24940)
Fix typo

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

- [ ] 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.
- [ ] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for
new osquery data ingestion features.
- [ ] Added/updated tests
- [ ] If paths of existing endpoints are modified without backwards
compatibility, checked the frontend/CLI for any necessary changes
- [ ] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [ ] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [ ] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [ ] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2024-12-19 18:20:18 -05:00
Noah Talerman e8a9c6654c Update default.yml (#24921)
- The new config is flat. We just updated the docs here:
https://github.com/fleetdm/fleet/pull/24891
2024-12-19 17:19:33 -06:00
Drew Baker df5e80ef1d Create fintech-company-migrates-to-fleet.md (#24935) 2024-12-19 18:07:02 -05:00
Drew Baker 0477e059e0 Update fleet-4.61.0.md (#24937)
Fix typo
2024-12-19 17:58:52 -05:00
Tim Lee 320ccaf01e minio vulnerability (#24931) 2024-12-19 15:17:40 -07:00
Gabe LopezandJanis Watts 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
Scott Gress 6bd9cc8a44 Monitor and alert on errors in cron jobs (#24347)
for #19930 

# Checklist for submitter

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
- [X] Input data is properly validated, `SELECT *` is avoided, SQL
injection is prevented (using placeholders for values in statements)
- [X] Added/updated tests
- [X] If database migrations are included, checked table schema to
confirm autoupdate
- [X] Manual QA for all new/changed functionality

# Details

This PR adds a new feature to the existing monitoring add-on. The add-on
will now send an SNS alert whenever a scheduled job like
"vulnerabilities" or "apple_mdm_apns_pusher" exits early due to errors.
The alert contains the job type and the set of errors (there can be
multiple, since jobs can have multiple sub-jobs). By default the SNS
topic for this new alert is the same as the one for the existing cron
system alerts, but it can be configured to use a separate topic (e.g.
dogfood instance will post to a separate slack channel).

The actual changes are:

**On the server side:**

- Add errors field to cron_stats table (json DEFAULT NULL)
- Added errors var to `Schedule` struct to collect errors from jobs
- In `RunAllJobs`, collect err from job into new errors var
- Update `Schedule.updateStats`and `CronStats.UpdateCronStats`to accept
errors argument
- If provided, update errors field of cron_stats table

**On the monitor side:**

- Add new SQL query to look for all completed schedules since last run
with non-null errors
- send SNS with job ID, name, errors

# Testing

New automated testing was added for the functional code that gathers and
stores errors from cron runs in the database. To test the actual Lambda,
I added a row in my `cron_stats` table with errors, then compiled and
ran the Lambda executable locally, pointing it to my local mysql and
localstack instances:

```
2024/12/03 14:43:54 main.go:258: Lambda execution environment not found.  Falling back to local execution.
2024/12/03 14:43:54 main.go:133: Connected to database!
2024/12/03 14:43:54 main.go:161: Row vulnerabilities last updated at 2024-11-27 03:30:03 +0000 UTC
2024/12/03 14:43:54 main.go:163: *** 1h hasn't updated in more than vulnerabilities, alerting! (status completed)
2024/12/03 14:43:54 main.go:70: Sending SNS Message
2024/12/03 14:43:54 main.go:74: Sending 'Environment: dev
Message: Fleet cron 'vulnerabilities' hasn't updated in more than 1h. Last status was 'completed' at 2024-11-27 03:30:03 +0000 UTC.' to 'arn:aws:sns:us-east-1:000000000000:topic1'
2024/12/03 14:43:54 main.go:82: {
  MessageId: "260864ff-4cc9-4951-acea-cef883b2de5f"
}
2024/12/03 14:43:54 main.go:198: *** mdm_apple_profile_manager job had errors, alerting! (errors {"something": "wrong"})
2024/12/03 14:43:54 main.go:70: Sending SNS Message
2024/12/03 14:43:54 main.go:74: Sending 'Environment: dev
Message: Fleet cron 'mdm_apple_profile_manager' (last updated 2024-12-03 20:34:14 +0000 UTC) raised errors during its run:
{"something": "wrong"}.' to 'arn:aws:sns:us-east-1:000000000000:topic1'
2024/12/03 14:43:54 main.go:82: {
  MessageId: "5cd085ef-89f6-42c1-8470-d80a22b295f8"
2024-12-19 15:55:29 -06:00
Luke Heath 50503f711c Update engineering handbook (#24930) 2024-12-19 15:52:55 -06:00
Scott Gress 556b79e2d2 Prevent Axios from fully buffering files uploaded from MSP dashboard (#24927)
for #24829 

See https://github.com/axios/axios/issues/1045 -- by default Axios
buffers uploaded files into memory fully, to support redirects. For
large file uploads this means we get OOM errors, especially when sending
to multiple teams. There's a few other optimizations we can put in place
here but in the short term we can fix the buffering issue by setting
`maxRedirects: 0` on the requests.

I tested this by adding an `onUploadProgress` handler to the Axios
request that dumps memory usage, and uploading a 209mb software file to
3 teams. Before the update, the readout ticket up continuously (the
first number is the # of bytes uploaded):

```
1540129 {rss: 161652736, heapTotal: 65880064, heapUsed: 55625552, external: 28411157, arrayBuffers: 24338844}
edit-software.js:177
1554313 {rss: 149254144, heapTotal: 65880064, heapUsed: 52445200, external: 25193635, arrayBuffers: 21121327}
edit-software.js:177
2339833 {rss: 151703552, heapTotal: 66404352, heapUsed: 52269280, external: 12664377, arrayBuffers: 8592064}
...a minute later...
192708641 {rss: 619323392, heapTotal: 95240192, heapUsed: 55320960, external: 618952429, arrayBuffers: 614879965}
edit-software.js:177
201523233 {rss: 634613760, heapTotal: 95240192, heapUsed: 58514992, external: 636581613, arrayBuffers: 632509154}
edit-software.js:177
209326677 {rss: 637399040, heapTotal: 95240192, heapUsed: 56800016, external: 639441633, arrayBuffers: 635369173}
```

so we start at ~161mb, and by the time we're done, we're using 637mb of
RAM. Render's free tier has a 250mb limit on apps.

With `maxRedirects: 0`, we see:

```
2669337 {rss: 151846912, heapTotal: 66404352, heapUsed: 53297400, external: 26446868, arrayBuffers: 22374419}
edit-software.js:177
2279929 {rss: 152641536, heapTotal: 66404352, heapUsed: 53453664, external: 27233300, arrayBuffers: 23160851}
edit-software.js:177
2228585 {rss: 153038848, heapTotal: 66404352, heapUsed: 53537096, external: 27626516, arrayBuffers: 23554067}
...a minute later...
209326677 {rss: 146989056, heapTotal: 92094464, heapUsed: 53802856, external: 14617518, arrayBuffers: 10545071}
edit-software.js:177
209326677 {rss: 153051136, heapTotal: 92094464, heapUsed: 55376336, external: 22447478, arrayBuffers: 18375026}
edit-software.js:177
209326677 {rss: 152129536, heapTotal: 92094464, heapUsed: 51857632, external: 22447478, arrayBuffers: 16540013}
```

showing that we start and finish with around the same amount of RAM
used.
2024-12-19 15:51:47 -06:00
Ian Littman 4f547902a6 Ignore iOS-only Firefox vulnerability (CVE-2024-10004) since we don't support iOS vulns (#24892)
For #23579

# 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

QA'd locally successfully. It just took a bit longer for the vuln showed
up.
2024-12-19 14:05:58 -06:00
Noah Talerman 5f9fcfc9f4 YAML files reference docs: windows_migration_enabled (#24891)
- Add missing reference docs for the following user story:
  - #22075
2024-12-19 14:37:49 -05:00
BCTBB e472b801ae Update communications.md - Removing Logica from glossary (#24838) 2024-12-19 12:39:20 -06:00
Katheryn Satterlee d5ce6fa5d1 Clarify automation reset (#24884)
Updated /automations/reset description to reflect that this endpoint
does not immediately trigger automations, but resets the status of hosts
so that they are seen as newly failing on the next automation run.
2024-12-19 11:46:55 -06:00
Dante Catalfamo dd5cbf68ed Remove unnecessary validation before secret expansion (#24903)
#24549

Remove redundant code introduced in original PR #24624
2024-12-19 11:55:47 -05:00
Eric 366ab642fe MSP Dashboard: update entrypoint script. (#24911)
Changes:
- Updated the MSP dashboard's entrypoint.sh script to not rebuild the
database every time it starts with the --build flag.
2024-12-19 10:52:31 -06:00
Allen Houchins 9b6b21f3b7 Added settings for Windows MDM migration (#24865) 2024-12-19 10:31:31 -06:00
Allen Houchins d79e26d488 Added multi-platform software to Workstations (canary) team (#24864) 2024-12-19 10:30:17 -06:00
Luke Heath ace2fa3f9f Adding changes for Fleet v4.61.0 (#24407) (#24904) 2024-12-19 10:09:22 -06:00
Noah Talerman 0065c92885 Update product-design.rituals.yml (#24902)
- Record KPI first before we move stories around
2024-12-19 09:10:55 -06:00
Mike McNeil 8091db7371 Update pricing.ejs: “For teams who can move quickly” (#24893)
Being big isn’t enough.
2024-12-19 09:10:47 -06:00
Harrison Ravazzolo 60fc1a4e2c Update deputy-achieves-compliance-and-clarity-with-fleet.md (#24898) 2024-12-18 22:25:20 -05:00
Victor Lyuboslavsky 9d9fc9b5cd Replace script/profile secrets. (#24841)
#24548

This PR covers Apple legacy commands, Windows commands, and scripts.
Apple DDM commands and Software install/uninstall scripts will be
covered in separate PRs.

# 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-12-18 15:27:35 -06:00
jacobshandlingandJacob Shandling 4767382a1f UI - Display the correct percentage of hosts online, 0, when there are no hosts online. (#24858)
## #23800 

<img width="535" alt="Screenshot 2024-12-17 at 6 13 37 PM"
src="https://github.com/user-attachments/assets/5600a288-9b97-4b69-a561-43244c936de5"
/>

- [x] Changes file added for user-visible changes in `changes/`
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-18 12:53:06 -08:00
Eric 94f85b9259 Website: Add /meetups page (#24882)
Closes: https://github.com/fleetdm/confidential/issues/8983

Changes:
- Added /meetups, a page that shows a list of upcoming meetups
2024-12-18 14:12:52 -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
Noah Talerman 61038bf1b8 Handbook: make sure changes outside of product groups are QA'd (#24847) 2024-12-18 13:02:40 -06:00
Rachael Shaw f04229e2f1 Guidelines for API design PRs (#24796)
Add details about how to make an API design PR
2024-12-18 13:14:22 -05:00
Tim Lee 09235486b4 Process all vulncheck data (#24318) 2024-12-18 10:53:46 -07:00
Robert Fairburn acdc526d1b Initial support for helm cloudsql proxy in migrations (#24412)
# 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.
2024-12-18 11:44:32 -06:00
RachelElysia 8888127998 Fleetctl: Update dependencies, improve error handling, ensure compatibility (#24845) 2024-12-18 11:22:01 -05:00
RachelElysia a59b977850 Fleet UI: Keyboard accessibility for clickable rows, view report (#23625) 2024-12-18 10:12:27 -05:00
RachelElysia ad79eadfbc Fleet UI: Update activity feed colors (#24655) 2024-12-18 10:10:59 -05:00
github-actions[bot]andlucasmrod 4fdba7b82d Update versions of fleetd components in Fleet's TUF [automated] (#24859)
Automated change from [GitHub
action](https://github.com/fleetdm/fleet/actions/workflows/fleetd-tuf.yml).

Co-authored-by: lucasmrod <lucasmrod@users.noreply.github.com>
2024-12-18 09:02:18 -03:00
Drew Baker 4c8eada31e Create deputy-achieves-compliance-and-clarity-with-fleet.md (#24854) 2024-12-17 17:44:31 -08:00
Nathanael Holliday 0084662a6d Update README.md (#24840)
Pullled note on equity updates into a spot that makes more sense.
2024-12-17 18:06:54 -06:00
Drew Baker 223b25fe98 Update testimonials.ejs (#24852)
Typo fix
2024-12-17 18:13:08 -05:00
Eric 82ec1d8e16 Website: update article links on /testimonials page (#24850)
Closes: #24746

Changes:
- Replaced the hard-coded links to articles on the /testimonials page
with server-side rendered generated links to articles. These links are
now built using the website's markdown articles configuration.
- Added support for a new meta tag on articles:
`showOnTestimonialsPageWithEmoji` If provided and set to one of the four
supported emoji (🥀, 🔌, 🚪, or 🪟), a link to the article will be added to
the /testimonials page. Example: `<meta
name="showOnTestimonialsPageWithEmoji" value="🥀">`.
- Updated the build-static-content script to throw an error if an
article has an invalid `showOnTestimonialsPageWithEmoji` meta tag value.
- Updated recent case study articles to have a
`showOnTestimonialsPageWithEmoji` meta tag.


@Drew-P-drawers When this PR is merged, you can add links to the new
case studies articles to the /testimonials page with a
`showOnTestimonialsPageWithEmoji` meta tag. The definitions for each of
the supported emoji are in this [google
doc](https://docs.google.com/document/d/1-KWQa3uMIJzeitzDRmzT3SnUoFCfcFCb6K2lyVt-Gy0/edit?tab=t.0#heading=h.oskipmb8530l)
2024-12-17 18:08:25 -05:00
Drew Baker 6b83ae30e2 Embed sprint demos 4.61.0 video (#24849)
Adding Sprint demos - 4.61.0 from YouTube to embed in the article
2024-12-17 17:31:26 -05:00
Dante CatalfamoandVictor Lyuboslavsky c9bdae8fb3 Embedded secrets validation (#24624)
#24549

Co-authored-by: Victor Lyuboslavsky <victor.lyuboslavsky@gmail.com>
2024-12-17 17:14:12 -05:00
Rachael Shaw addaaa3f8c Move release article image into the /articles folder (#24848) 2024-12-17 16:10:48 -06:00
c4a2bb4d6b 4.61 documentation changes (#24833)
Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Zach Wasserman <zach@fleetdm.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Konstantin Sykulev <konst@sykulev.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
2024-12-17 15:39:24 -06:00
Noah Talerman ce8bcaa033 Release article: 4.61.0 (#24836)
Release article for Fleet 4.61.0

Highlighted user stories:
- #22077
- #22078
- #22075
2024-12-17 15:38:48 -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
RachelElysia 474d5c4260 Fleet UI: Clean up table text wrapping (#24827) 2024-12-17 15:22:33 -05:00
Allen Houchins 7babadf4ba Added DDM profile for iOS and iPadOS and copied macOS DDM profile to Workstations team (#24825) 2024-12-17 14:19:08 -06:00
Allen Houchins aba585ce6e Updated minimum OS version for iOS and iPadOS (#24822) 2024-12-17 14:18:32 -06:00
Konstantin SykulevandIan Littman 57e82c1357 Added optional team_id parameter to query report endpoint (#24811)
If the `team_id` parameter is included the query report will filter the
hosts by the team id specified. The `team_id` parameter is included by
default from the front end queries pages.

https://github.com/fleetdm/fleet/issues/24006

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

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
2024-12-17 13:26:35 -06:00
Sam Pfluger 24472f1c13 update steps to send an order form (#24834)
- Fix comment box
- Add step to move doc to google drive
2024-12-17 12:11:18 -06:00
jacobshandlingandJacob Shandling af12ba144a Include disk encryption stats only if setting is enabled for Linux host (#24457)
## Addresses #24456

- host detail response (for Host details page and My device page)
excludes `mdm.os_settings` field if disk encryption isn't enabled for
the host
- confirmed it is still included when setting is enabled
- confirmed expected banner is still shown when setting enabled

<img width="2555" alt="Screenshot 2024-12-05 at 10 10 48 PM"
src="https://github.com/user-attachments/assets/e3852b7f-51ae-4e87-bceb-476ccdba2459">


- [x] Changes file added for user-visible changes in `changes/`, 
- [x] Added/updated tests
- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2024-12-17 09:43:35 -08:00