Commit graph

2398 commits

Author SHA1 Message Date
Noah Talerman
fe7a91bf52
[API and YAML design] SSO breaks when using separate 'admin' URL (#31513)
API and YAML changes for the following bug:
- #31480
2025-08-01 10:44:12 -05:00
Noah Talerman
067f9560cc
API reference: Remove "browser" (#31486)
- @noahtalerman: When poking around in dogfood, I noticed that
`"browser"` is only included if the software item is a browser
extension. Otherwise it's excluded (not an empty string).
2025-07-31 18:01:11 -05:00
Victor Lyuboslavsky
5e9cc244df
ADR-0004: Third-party library vendoring (#31406)
See doc

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

## Summary by CodeRabbit

* **Documentation**
* Added a new architectural decision record outlining the standard
process for managing and updating third-party libraries with local
modifications.
* Updated the ADR index to include links and descriptions for ADR-0001
through ADR-0004, improving documentation clarity and accessibility.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2025-07-31 22:31:16 +02:00
Jorge Falcon
f637cfadac
AWS Reference Architecture MySQL verison update (#31369)
- Bumping MySQL version `8.0.mysql_aurora.3.07.1` ->
`8.0.mysql_aurora.3.08.2`
2025-07-30 23:42:43 -04:00
Jahziel Villasana-Espinoza
0c161382ce
add some g-software docs (#31270)
# Checklist for submitter

If some of the following don't apply, delete the relevant line.

## Testing
- [x] QA'd all new/changed functionality manually
2025-07-30 10:27:22 -04:00
Victor Lyuboslavsky
50d20c8ffe
Added renewal info to TPM contributor docs. (#31371)
Fixes #30476
2025-07-30 07:24:52 +02:00
Juan Fernandez
eac86a1224
Added new orbit config flag. (#31332)
For #31065 

Added new orbit config flag 'EnableBitLockerPINProtectorConfig' set iff Disk encryption is enforced and the RequireBitLockerPIN server config flag is set.
2025-07-29 19:22:36 -04:00
Dhruv Trivedi
5b68247c14
Activity feed: Surface team_id and team_name in policy and query activities (#28394)
fix #27689
# Checklist for submitter

- [x] Changes file added for user-visible changes in `changes/`
- [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 (added in the
comment)
- [x] Manual QA for all new/changed functionality

output ss
![Screenshot 2025-04-20
100928](https://github.com/user-attachments/assets/b62c1370-18e6-4d0f-a8ab-3a3d2d2084c7)
![Screenshot 2025-04-20
101101](https://github.com/user-attachments/assets/4f052242-d4c0-4027-afef-37f8d29991fc)

Noticed that editing a global policy doesn't generate an edited_policy
activity log in my local environment, while it does in others.
Investigated the gap and shared findings in the issue thread for further
clarification(in https://github.com/fleetdm/fleet/issues/27689)

---------

Co-authored-by: Scott Gress <scottmgress@gmail.com>
Co-authored-by: Scott Gress <scott@fleetdm.com>
2025-07-29 17:57:21 -05:00
Noah Talerman
7e32d49765
API for contributors (#31248)
- Make the callout about these endpoints being internal
(UI/fleetctl/Fleet Desktop uses them) more prominent.
- Why? So customers/users that find themselves in this doc have hard a
time missing it.
2025-07-29 17:32:26 -05:00
Noah Talerman
c807b4173f
API reference: Add missing link (#31230)
Context:
https://github.com/fleetdm/fleet/pull/31200#discussion_r2226730130
2025-07-29 17:25:25 -05:00
Ian Littman
beba3278d9
Fix docs to refer to "hash_sha256" as field name on software packages (#31175)
This matches the implementation (and a version of the spec that I
thought got merged).
2025-07-29 17:24:41 -05:00
Noah Talerman
fb7bcc1335
Reference docs: what happens when you change the Fleet web address (#30999)
- @noahtalerman: I think changing the Fleet web address means you'll
have to re-enroll all your hosts.
- We have a [feature
request](https://github.com/fleetdm/fleet/issues/29878) to add this copy
to the UI but I think we want to get this in the docs ASAP

---------

Co-authored-by: Victor Lyuboslavsky <2685025+getvictor@users.noreply.github.com>
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-29 14:10:04 -05:00
Ian Littman
9be1eb727d
Document existing install_during_setup parameter on batch software contributor endpoints (#31162)
This was implemented in Fleet v4.59.0 but docs weren't updated to
reflect changes.
2025-07-29 11:35:23 -05:00
Jordan Montgomery
85993cbcb7
BMAA API Contributor docs WIP (#31151)
relates to #31058 


API doc updates BMAA feature

# 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/guides/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.
- [ ] 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 new Fleet configuration settings
- [ ] Verified that the setting can be managed via GitOps, or confirmed
that the setting is explicitly being excluded from GitOps. If managing
via Gitops:
- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Added the setting to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled
- 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`).
- [ ] Added/updated automated tests
- [ ] Where appropriate, automated tests simulate multiple hosts and
test for host isolation (updates to one hosts's records do not affect
another.)
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md)).
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
- [ ] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.

---------

Co-authored-by: Gabriel Hernandez <ghernandez345@gmail.com>
2025-07-29 12:00:56 +01:00
Victor Lyuboslavsky
f22cd02bf6
Lightweight push notification simulator (SSE-based) (#31310)
Design doc for #30816
2025-07-29 07:29:56 +02:00
Marko Lisica
16f036a40b
Mark ndes_scep_proxy as experimental (#31044)
Mark ndes_scep_proxy as experimental.

@rachaelshaw We already discussed this. We forgot to mark this YAML
configuration as experimental, but the API is marked as experimental. We
want to deprecate these and transition to new endpoints, as discussed
during the MDM design review, to enable better scaling of this feature.
2025-07-28 15:15:12 -05:00
Ian Littman
9bb618ead5
ADR-0003: Switching to long-lived forks to manage actively maintained third-party dependencies (#31079) 2025-07-25 13:44:27 -06:00
Ian Littman
9dd1c895d6
Group/reword PR template to more easily determine applicable changes, link to examples of host isolation testing via patterns doc (#31155) 2025-07-24 17:41:21 -05:00
Noah Talerman
1edb988e75
Contributor configuration reference: Microsoft compliance partner (#31154)
Document this key so we don't forget what it looks like what it's used
for.

---------

Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
2025-07-24 16:36:25 -06:00
Sarah Gillespie
b0f47725fd
Add activity details for BYOD MDM enrollments (#31191) 2025-07-24 10:28:50 -05:00
Rachael Shaw
0d8c099cf9
Docs v4.71.0 (#31200)
Documentation changes for 4.71.0

---------

Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Jordan Montgomery <elijah.jordan.montgomery@gmail.com>
Co-authored-by: Marko Lisica <83164494+marko-lisica@users.noreply.github.com>
Co-authored-by: Lucas Manuel Rodriguez <lucas@fleetdm.com>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-07-23 16:02:13 -06:00
Noah Talerman
b78826ac18
Update release notes template (#31014) 2025-07-23 12:05:10 -06:00
Eric
d7eb87842e
Update Hosting Fleet documentation (#31011)
Closes: https://github.com/fleetdm/confidential/issues/11093

Changes:
- Moved the content from the AWS section of the "Hosting Fleet"
documentation page to the "Deploy Fleet on AWS with Terraform" guide
- Moved the content from the Render section of the "Hosting Fleet"
documentation page to the "Deploy Fleet on Render" guide
- Updated the Hosting Fleet page to include card links to the reference
architecture docs, the try-fleet page, and deployment guides for Render,
GCP, Kubernetes, and AWS.

---------

Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-21 13:57:48 -05:00
Lucas Manuel Rodriguez
d256bfdc71
Add arm64 support for fleetd extensions and fixes on test scripts (#31084)
This was required to test https://github.com/fleetdm/fleet/pull/30864 on
Apple Silicon.

I've created https://github.com/fleetdm/fleet/issues/31092 for tracking
purposes.

Fixes:
- Build univeral binary extension on macOS to test on VMs without
Rosetta.
- Add support for linux and Windows arm64. Which is also needed to test
Linux and Windows on UTM on Apple Silicon.
- Add Linux arm64 & Windows arm64 to the test scripts.

---

- [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/guides/committing-changes.md#changes-files)
for more information.
- [X] Added/updated automated tests
- [X] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [X] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md)).
- [x] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [x] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [x] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
2025-07-21 15:47:59 -03:00
Ian Littman
589ceac5ca
Remove references to (nonexistent as of right now) Fleet-maintained policies (#31033) 2025-07-21 13:18:35 -05:00
Mike McNeil
5b6385b119
FAQ.md: use normal-sounding words (#31035)
# 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/guides/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.
- [ ] 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 new Fleet configuration settings
- [ ] Verified that the setting can be managed via GitOps, or confirmed
that the setting is explicitly being excluded from GitOps. If managing
via Gitops:
- [ ] Verified that the setting is exported via `fleetctl
generate-gitops`
- [ ] Added the setting to [the GitOps
documentation](https://github.com/fleetdm/fleet/blob/main/docs/Configuration/yaml-files.md#L485)
- [ ] Verified that the setting is cleared on the server if it is not
supplied in a YAML file (or that it is documented as being optional)
- [ ] Verified that any relevant UI is disabled when GitOps mode is
enabled
- 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`).
- [ ] Added/updated automated tests
- [ ] Where appropriate, automated tests simulate multiple hosts and
test for host isolation (updates to one hosts's records do not affect
another.)
- [ ] Manual QA for all new/changed functionality
- For Orbit and Fleet Desktop changes:
- [ ] Make sure fleetd is compatible with the latest released version of
Fleet (see [Must
rule](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/workflows/fleetd-development-and-release-strategy.md)).
- [ ] Orbit runs on macOS, Linux and Windows. Check if the orbit
feature/bugfix should only apply to one platform (`runtime.GOOS`).
- [ ] Manual QA must be performed in the three main OSs, macOS, Windows
and Linux.
- [ ] Auto-update manual QA, from released version of component to new
version (see [tools/tuf/test](../tools/tuf/test/README.md)).
- [ ] For unreleased bug fixes in a release candidate, confirmed that
the fix is not expected to adversely impact load test results or alerted
the release DRI if additional load testing is needed.
2025-07-21 12:45:42 -05:00
Ian Littman
2de7ecf42e
Document already-in-existence software.packages.slug field in batch software update contributor endpoint (#31034)
Co-authored-by: Rachael Shaw <r@rachael.wtf>
2025-07-21 12:45:02 -05:00
Victor Lyuboslavsky
3003ce5eb2
Fix markdown header in fleet-server-configuration.md (#31039) 2025-07-21 12:42:37 -05:00
Victor Lyuboslavsky
4d08af4649
Updating TPM contributor docs. (#31043)
Fixes #30477
2025-07-19 07:07:59 +02:00
Victor Lyuboslavsky
a31db7fc83
ADR-0002: Not using GitHub Discussions (#30927)
See doc.


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

## Summary by CodeRabbit

* **Documentation**
* Added a new decision record outlining the reasons for not using GitHub
Discussions for technical conversations and summarizing considered
alternatives.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Luke Heath <luke@fleetdm.com>
2025-07-16 19:55:36 +02:00
Victor Lyuboslavsky
2653ae2108
Added "Assert vs require" section to patterns-backend.md (#30928) 2025-07-16 19:21:54 +02:00
jacobshandling
555ae5441e
Update Go to 1.24.5 (#30770)
## #30730 
- Update Go version
- Update the docs for this process
- Confirmed `fleet`, `fleetctl`, and related docker images build
successfully
- Note that failing tests are unrelated: see [Slack
thread](https://fleetdm.slack.com/archives/C019WG4GH0A/p1752175318523689)

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-07-15 10:59:17 -07:00
Katheryn Satterlee
98fd078bd5
Remove references to 'fleetctl upload-software' (#30793) 2025-07-11 14:05:18 -06:00
Victor Lyuboslavsky
a51420f201
Added/updated host identity contributor docs. (#30651)
Fixes #30458 



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

* **Documentation**
* Updated terminology and clarified details for TPM-backed HTTP signing,
including alternate names, TPM ECC curve selection, and file naming
conventions.
* Added documentation for a new API endpoint to retrieve host identity
certificates via SCEP, specifying supported algorithms and usage
requirements.
* Improved configuration guidance, troubleshooting steps, and expanded
the list of planned future enhancements.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-11 09:32:52 +02:00
jacobshandling
2686e75adf
Minor update to the "Upgrade Go" docs (#30762) 2025-07-10 16:21:03 -06:00
Lucas Manuel Rodriguez
2affb29381
Fix STS assume role in aws-sdk-go v2 (#30699)
Fix unreleased bug #30693.

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

## Summary by CodeRabbit

* **Documentation**
* Updated testing documentation to include a missing command for
creating the Firehose delivery stream for "status" logs.
* **Refactor**
* Centralized AWS STS Assume Role credential configuration across
multiple AWS integrations (S3, Firehose, Kinesis, Lambda, SES) to use a
shared helper, improving maintainability and consistency.
* Removed deprecated inline credential configuration logic in favor of
the new centralized approach.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-10 13:00:27 -03:00
Zach Wasserman
11097befb4
Add last used information for Windows software (programs) (#30577)
For #28819
2025-07-08 12:58:25 -07:00
Lucas Manuel Rodriguez
c69d56ed64
Replace home-made SAML implementation with https://github.com/crewjam/saml (#28486)
For https://github.com/fleetdm/confidential/issues/9931.


[Here](ec3e8edbdc/docs/Contributing/Testing-and-local-development.md (L339))'s
how to test SAML locally with SimpleSAML.

- [X] Changes file added for user-visible changes in `changes/`,
`orbit/changes/` or `ee/fleetd-chrome/changes`.
See [Changes
files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/Committing-Changes.md#changes-files)
for more information.
- [x] Added/updated automated tests
- [x] 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

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

* **New Features**
* Improved SSO and SAML integration with enhanced session management
using secure cookies.
  * Added support for IdP-initiated login flows.
* Introduced new tests covering SSO login flows, metadata handling, and
error scenarios.

* **Bug Fixes**
* Enhanced validation and error handling for invalid or tampered SAML
responses.
  * Fixed session cookie handling during SSO and Apple MDM SSO flows.

* **Refactor**
* Replaced custom SAML implementation with the crewjam/saml library for
improved reliability.
  * Simplified SAML metadata parsing and session store management.
  * Streamlined SSO authorization request and response processing.
  * Removed deprecated fields and redundant code related to SSO.

* **Documentation**
* Updated testing and local development docs with clearer instructions
for SSO and IdP-initiated login.

* **Chores**
  * Upgraded dependencies including crewjam/saml and related packages.
* Cleaned up tests and configuration by removing deprecated fields and
unused imports.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 15:13:46 -03:00
Jordan Montgomery
dbd6a23053
Disk Encryption contributor doc updates (#30538)
Integrates a number of troubleshooting and architecture notes from my
experience debugging and investigating disk encryption related issues
over the past few months.. Adds diagrams for each platform showing how
the major components work together. Might be a bit wordy but wanted it
to be useful for engineers since it is so different on each platform

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

* **Documentation**
* Expanded and restructured disk encryption documentation with detailed
platform-specific workflows and troubleshooting guidance for macOS,
Windows, and Linux.
* Added and updated sequence diagrams for FileVault, BitLocker, and LUKS
encryption processes.
* Enhanced sections on key storage, recovery, and related resources with
additional guidance and links.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2025-07-07 11:07:33 -04:00
Martin Angers
62da9b4149
Contributor doc: add DDM documentation (#30427) 2025-07-02 10:04:38 -04:00
Rachael Shaw
54c3361bc1
Docs v4.70.0 (#30432)
Documentation changes for the 4.70.0 release.

---------

Co-authored-by: Ian Littman <iansltx@gmail.com>
Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com>
Co-authored-by: Victor Lyuboslavsky <victor.lyuboslavsky@gmail.com>
Co-authored-by: Martin Angers <martin.n.angers@gmail.com>
Co-authored-by: Scott Gress <scottmgress@gmail.com>
2025-06-30 16:33:32 -05:00
Lucas Manuel Rodriguez
404f0d3ac0
Migrate from aws-sdk-go v1 to v2 (#30308)
#29482

[Migrate to the AWS SDK for Go
v2](https://docs.aws.amazon.com/sdk-for-go/v2/developer-guide/migrate-gosdk.html)
documents how to migrate codebases.

QA on features that use AWS SDK Go:
- Bootstrap package:
  - upload:  
  - download: 
  - cleanup: 
- Software (upload, download, installation, etc.) 
  - Cloudfront: Luckly, this feature was already using aws-sdk-go-v2.
- Carves 
- Logging:
	- Firehose 
	- Kinesis 
- Lambda  (tested result logs to a lambda function on our AWS Dogfood
account)
- Email:
	- Amazon SES TODO ⚠️ (this is what Dogfood uses and a few customers)
- We cannot easily test locally, we can use dogfood or load testing
(AWS) environments.

---

- [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/guides/committing-changes.md#changes-files)
for more information.
- [ ] Manual QA for all new/changed functionality
2025-06-30 17:45:39 -03:00
Ian Littman
1b20c5bae6
Document current auto-update behavior for Fleet-maintained apps set via GitOps (#30345) 2025-06-27 13:08:43 -05:00
Sam Pfluger
e3a93f7366
Add Nate's article to FAQ (#30371) 2025-06-27 12:29:56 -05:00
Noah Talerman
e5154da9a6
GitOps reference: Move copy to more relevant section (#30263)
Move details about App Store (VPP) apps to "app_store_apps" section.
2025-06-27 12:29:16 -05:00
Victor Lyuboslavsky
67977ad182
Added TPM-backed HTTP signing contributor docs. (#30337) 2025-06-26 14:53:58 -06:00
Ian Littman
57939c94ef
Document vuln feed cleanup option introduced in #28207 (#30328) 2025-06-26 14:25:56 -05:00
RachelElysia
05037f9ea0
Fleet Docs: Update /hosts/:id/software API docs to reflect available params (#30123)
## Description
- Copied verbatim from REST API docs for `GET /software` params
2025-06-25 17:44:50 -05:00
Juan Fernandez
b31d5f9bba
Misc feedback for new Windows doWipe cmd (#30252)
For #21979 

A couple of small items that came up during the first round of QA
2025-06-25 18:38:40 -04:00
Martin Angers
4994571c22
DCLK: add mechanism to verify user-scoped profiles (#30110) 2025-06-25 09:51:43 -04:00