<!-- Add the related story/sub-task/bug number, like Resolves #123, or remove if NA --> **Related issue:** Resolves #46226 # Checklist for submitter If some of the following don't apply, delete the relevant line. - [x] Changes file added for user-visible changes in `changes/`, `orbit/changes/` or `ee/fleetd-chrome/changes`. See [Changes files](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/guides/committing-changes.md#changes-files) for more information. - [x] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements), JS inline code is prevented especially for url redirects, and untrusted data interpolated into shell scripts/commands is validated against shell metacharacters. ## Testing - [x] Added/updated automated tests - [x] Where appropriate, [automated tests simulate multiple hosts and test for host isolation](https://github.com/fleetdm/fleet/blob/main/docs/Contributing/reference/patterns-backend.md#unit-testing) (updates to one hosts's records do not affect another) - [x] QA'd all new/changed functionality manually <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Add CA certificate rollover CLI to renew MDM CA certs with an extend-years option while preserving the private key and certificate properties. * **Improvements** * Decryption logic updated to accept previously-rolled CA certificates so escrowed disk-encryption keys can be decrypted after rollover. * **Tests** * Expanded tests and mocks to cover rollover and decryption scenarios. * **Chores** * Updated ignore rules and added a changelog entry for the rollover process. <!-- review_stack_entry_start --> [](https://app.coderabbit.ai/change-stack/fleetdm/fleet/pull/46226?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack) <!-- review_stack_entry_end --> <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fleet development guides
This directory contains guides for common development tasks in Fleet.
General guides
- Seeding Data - Guide for seeding data in Fleet
- Committing Changes - Guide for committing changes to Fleet
- Fleetctl Apply - Guide for using fleetctl apply
- Simulate Slow Network - Guide for simulating a slow network
- Troubleshooting Live Queries - Guide for troubleshooting live queries
- Enroll hosts with plain osquery - Guide for enrolling hosts with plain osquery
- Upcoming activities - Guide for managing upcoming host activities
- mTLS reverse proxy setup - Guide for setting up an mTLS reverse proxy for testing
- Okta conditional access testing - Guide for testing Okta conditional access end-to-end in a dev environment
- Smallstep ACME local setup - Guide for running step-ca locally with ngrok for ACME device attestation testing
UI development
- Fleet UI Testing - Guide for testing the Fleet UI
- Generating UI Component Boilerplate - Guide for generating UI component boilerplate
- Design QA Considerations - Guide for design QA considerations
Observability
- Telemetry attribute naming - Naming conventions for log, trace, and metric attributes
API development
- Adding New Endpoints - Guide for adding new endpoints to the Fleet API
Integration guides
- SCIM Integration - Guide for integrating Fleet with SCIM
- Digicert Integration - Guide for integrating Fleet with Digicert