Commit graph

16000 commits

Author SHA1 Message Date
Victor Lyuboslavsky
93bdb437ac
Resend Windows profiles on change (#27308)
For #25030 

This PR includes the bug fix and tests.

It also includes the `secrets_updated_at` columns needed for story
#27351. These columns are currently unused and always NULL.

# 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] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [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
2025-03-20 14:43:04 -05:00
github-actions[bot]
30de66f8ca
Update Fleet-maintained apps (#27331)
Automated ingestion of latest Fleet-maintained app data.

Co-authored-by: jahzielv <19838370+jahzielv@users.noreply.github.com>
2025-03-20 14:14:25 -05:00
Gabriel Hernandez
549c41e53d
fixes for various UI issues with cert authority feature (#27341)
For #26606

various fixes to the UI for the cert authority feature

- [x] Manual QA for all new/changed functionality
2025-03-20 19:10:48 +00:00
Victor Lyuboslavsky
49d4c1f7d2
Updated error messages verifying DigiCert profile. (#27342)
For #26622

Updating DigiCert error messages after discussion with Gabe.
2025-03-20 13:24:29 -05:00
Luke Heath
c0dcf686cc
Update engineering handbook (#27298) 2025-03-20 12:10:51 -05:00
Luke Heath
0c81e7ba04
Address code scanning permissions warnings (#27250) 2025-03-20 12:07:41 -05:00
jacobshandling
bc7b3f75f5
A couple naming improvements and cleanups (#27321)
## For #24950 

- [x] Manual QA for all new/changed functionality

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-03-20 10:06:46 -07:00
RachelElysia
7f8073624a
FE: Refactor pagination to be a single component (#27224) 2025-03-20 12:40:43 -04:00
Victor Lyuboslavsky
3989d55182
GitOps support for DigiCert and Custom SCEP (#27229)
For #26622

This PR includes:
- Making DigiCert client a real service that can be overridden in tests
- GitOps support for DigiCert and Custom SCEP configs

# Checklist for submitter

- [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
2025-03-20 11:36:00 -05:00
Gabriel Hernandez
69165966c8
add UI for adding, editing, deleting new NDES and custom scep cert authorities (#27270)
For #26607, #26608

This adds the ndes and custom scep forms to add those types of
certificate authorities. this includes:

**form for adding and editing ndes**


![image](https://github.com/user-attachments/assets/2effb143-d23b-4a87-948b-4732ddc5c29c)

**form for adding and editing custom scep**


![image](https://github.com/user-attachments/assets/212b496a-0f48-4b2b-aa72-aa482a4e0f6a)

This also contains the removal of the current ndes UI which was on the
mdm settings page

> NOTE: there will be another PR to handle the various error messages
and other polish to the UI.

- [ ] 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.
- [ ] Added/updated automated tests
- [ ] Manual QA for all new/changed functionality
2025-03-20 16:14:53 +00:00
Noah Talerman
1de78d40ab
Fleet Desktop guide (#27314)
- Tweak language to be consistent with other guides
2025-03-20 12:12:37 -04:00
Eugene
3d965a7576
tarball learn more redirect (#27330)
For #26692

Still need to supply URL.
2025-03-20 11:10:46 -04:00
Ian Littman
14a47190fd
Fix permissions on macOS cleanup script (#27327)
Fixes regression from #27024 (see e.g.
https://github.com/fleetdm/fleet/actions/runs/13959736601/job/39079144858)
2025-03-20 10:02:36 -05:00
Scott Gress
866d8bcc00
Ensure MacOS desktop app launched as correct user (#27296)
For #25924  

This PR attempts to fix the issue where the Fleet desktop icon sometimes
fails to appear on MacOS hosts until the hosts are rebooted. Anecdotal
evidence points to this being an issue when system setup is happening,
leading to the theory that Orbit is attempting to launch the app as
`_mbsetupuser` rather than the real logged-in user. The fix here is to
use a different command to get the name of the logged-in user (ignoring
`_mbsetupuser` if it appears), and to launch the desktop app as that
user using `sudo`.

I have tested this on MacOS and Ubuntu hosts, and verified that the
desktop app launches as expected on both.

We don't have a solid reproduction scenario for the issue, but we do
have [some ways to look for relevant
errors](https://github.com/fleetdm/fleet/issues/19172#issuecomment-2627812786),
so we can try this out and see if those errors cease.
2025-03-20 09:49:23 -05:00
Ian Littman
8ef3ff2ae5
Fix non-Windows false positive for CVE-2024-6286 (#27325)
For #27193.

# 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 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)
- [ ] Manual QA for all new/changed functionality
2025-03-20 09:21:42 -05:00
Noah Talerman
08dd3940ad
Update product-design.rituals.yml (#27332) 2025-03-20 10:10:40 -04:00
Lucas Manuel Rodriguez
e6cb16453e
Added more logging for troubleshooting of software package installation (#27291)
For #27234.

- Improved logging in orbit to help us during troubleshooting.
- Added some documentation on how to grep for errors related to software
package installation in orbit.
- Added `took` to server request error logs (it was only present when
the request succeeds).

---

- [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] 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
- 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/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-03-20 11:09:57 -03:00
Noah Talerman
db2f27d793
New customer promises call (#27318)
- Add attendees
2025-03-20 09:30:36 -04:00
RachelElysia
3a04df2746
Fleet UI: Create consistent padding and headers styling for HDP (#27302) 2025-03-20 09:20:30 -04:00
RachelElysia
59d9cafbdd
Fleet UI: Make OS copies in dashboard are consistent (#27248) 2025-03-20 09:20:10 -04:00
RachelElysia
3d3c901d3c
Fleet UI: Disable unsupported auto install of .exe during add flow (#27315) 2025-03-20 09:16:37 -04:00
Jahziel Villasana-Espinoza
31273203fd
report an installer download error as an installation failure to Fleet (#27264)
> For #24710

# 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 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
- 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/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-03-19 21:00:44 -04:00
Eric
43aee01596
Website: disable start CTA on /better (#27323)
Closes: https://github.com/fleetdm/confidential/issues/10002

Changes:
- Disabled the start CTA on the /better page
2025-03-19 18:23:23 -05:00
Scott Gress
2a18f56655
Manage labels in GitOps (#27038)
For #24473 

# Checklist for submitter

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

## Details

This PR adds the ability to manage labels via GitOps. Usage is as
follows:

* If a top-level `labels:` key is provided in the global YAML file
provided to GitOps, then any labels in this list will be created (if
using a new name) or updated (if using an existing name).
* If no top-level `labels:` key is provided, no changes will be made to
labels. This allows backwards-compatibility; customers won't blow away
all of their labels if they don't immediately use `labels:` in their
YAML

Additionally, some new validation has been added so that label usage is
checked prior to application. This means that when the gitops command is
run, it will verify that any labels referenced elsewhere in the YAML
(e.g. by software installers or mdm profiles) exist, and will bail with
an error message if they don't.

## Testing

**Test label deletion**
1. Add some labels via the UI
2. Run `fleetctl gitops --dry-run` with a default.yml file _without_
`labels:` in it, and verify that it doesn't say it will update or delete
any labels
2. Run `fleetctl gitops` with a default.yml file _without_ `labels:` in
it, and verify that it doesn't modify or remove your labels
4. Run `fleetctl gitops --dry-run` with a default.yml file with
`labels:` in it and nothing underneath, and verify that it says that it
will delete your labels
4. Run `fleetctl gitops` with a default.yml file with `labels:` in it
and nothing underneath, and verify that it removes all your labels

**Test label create/update**
1. Add a label "foo" via the UI
2. Run `fleetctl gitops --dry-run` with a default.yml file with two
`labels:` in it, one named "foo" and one named "bar". Verify that the
output says that one label will be created and one will be updated.
2. Run `fleetctl gitops` with a default.yml file with two `labels:` in
it, one named "foo" and one named "bar". Verify that the two labels now
exist in the UI with the configuration you specified.

**Test label usage**
1. Add a label "foo" in the UI.
1. Run `fleetctl gitops --dry-run` with a default.yml file _without_
`labels:` in it, where a software installer or mdm profile uses the
"foo" label via `labels_include_any`. Verify that the output doesn't
complain about unknown labels.
1. Run `fleetctl gitops --dry-run` with a default.yml file _with_
`labels:` in it with nothing underneath, and a software installer or mdm
profile uses the "foo" label via `labels_include_any`. Verify that the
output complains about unknown label "foo"
1. Run `fleetctl gitops --dry-run` with a default.yml file _with_
`labels:` in it with a "foo" label defined underneath, and a software
installer or mdm profile uses the "foo" label via `labels_include_any`.
Verify that the output doesn't complain about unknown labels.
2025-03-19 16:35:11 -05:00
Noah Talerman
dea69de8d8
User story template (#27293)
Add a "Contributor API changes" checkbox in the "Engineering" section.
This way we spec contributor API changes before we get to estimation.
2025-03-19 16:04:05 -05:00
Mike McNeil
1360862727
Update transparency.ejs (#27310)
Eric, please make sure this is actually good

---------

Co-authored-by: Eric <eashaw@sailsjs.com>
2025-03-19 15:11:19 -05:00
Mike McNeil
21dfccc655
Update fleet-server-configuration.md (#27313) 2025-03-19 15:09:34 -05:00
Mike McNeil
aa73c0dfd2
Update deploy-fleet.md (#27311) 2025-03-19 15:09:05 -05:00
Allen Houchins
c15d535598
Update 1Password macOS version number to 8.10.70 (#27306)
Co-authored-by: allenhouchins <allen@fleetdm.com>
2025-03-19 14:05:49 -05:00
Allen Houchins
30012688d1
Added policy automation and new Windows installer (#27244)
- Added script and workflow to keep 1Password policy up to date
- Changed to using .msi instead of .exe for Windows installer
2025-03-19 13:54:25 -05:00
Noah Talerman
919f42a3ea
Uninstall fleetd remotely (#27024) 2025-03-19 13:35:39 -05:00
Eric
6fd73c9881
Website: add temporary redirect for Android MDM learn more link. (#27295)
Related to: https://github.com/fleetdm/fleet/issues/27290


Changes:
- Added a temporary redirect for the "Learn more" link on the Android
enterprise setup page.
2025-03-19 12:50:45 -05:00
jacobshandling
c2df8703df
UI: Truncate MDM server url and serial number (#27175)
## For #26295 

<img width="965" alt="Screenshot 2025-03-14 at 4 10 31 PM"
src="https://github.com/user-attachments/assets/908772ef-a666-46ab-82f4-6dbceca17f70"
/>
<img width="965" alt="Screenshot 2025-03-14 at 4 10 26 PM"
src="https://github.com/user-attachments/assets/897c1174-7965-4c3b-8055-6bc2718c2110"
/>



- [x] Changes file added for user-visible changes in `changes/`
- [ ] 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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-03-19 09:55:03 -07:00
jacobshandling
915cf416d6
Full-stack: Granular host count data for live queries/policies (#27258)
## For #24950 

- Track more granular host count data when running a live query/policy,
and return it in two new fields of each `"status"`-typed websocket
message
- On completion of live query/policy, display that granular data in a
tooltip in the UI
- Streamline and clarify frontend live query logic
- Update types and field names to better reflect the data they contain
and the sources from which that data is derived
- Add comments to clearly define what various fields of data represent
- Update heading copy rendered while live queries and policies are
running

###
[Demo](https://www.loom.com/share/ad1d64cf527f4fbc981df58ad581242f?sid=a0dc1269-a049-43c3-afdb-65c0bb946ece)

 

![ezgif-6ecb9c3895acd4](https://github.com/user-attachments/assets/02c3ad40-c874-4978-af28-bdaec098906a)



- [x] Changes file added for user-visible changes in `changes/`
- [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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-03-19 09:53:55 -07:00
Dale Ribeiro
672f36936a
Create EscrowBuddy-Basics (#27161)
# 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.
- [ ] 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`).
- [ ] Added/updated automated tests
- [ ] 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)
- [ ] 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/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: Brock Walters <153771548+nonpunctual@users.noreply.github.com>
Co-authored-by: Eric <eashaw@sailsjs.com>
2025-03-19 12:17:40 -04:00
Noah Talerman
900dcaabf6
Enroll hosts guide (#27223)
Based on `customer-cisneros`'s feedback here:
https://github.com/fleetdm/fleet/issues/21595#issuecomment-2730806008
2025-03-19 08:24:32 -07:00
Sarah Gillespie
dd99760ee6
Add UI tooltips for errors related to certificates feature in host MDM profiles (#27252) 2025-03-19 10:04:03 -05:00
Marko Lisica
84892741dd
Merge Android docs changes (#27221)
Related to: 

- #23231
2025-03-19 10:03:02 -05:00
Janis Watts
07f70df43f
Updated migration test section (#27256)
Updated migration test section to reflect new fancy github action
instead of script
2025-03-19 10:00:38 -05:00
Scott Gress
f3835e6d49
Allow team admins and team maintainers to manage labels (#27063)
For #27037 

# Checklist for submitter

- [ ] 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.

## Details

This PR updates the UI to allow team admins and maintainers to create
labels, and to edit or delete labels that they created. They will not be
able to edit or delete labels created by other team admins or
maintainers, or by global admins. Global admins will still be able to
edit or delete any label.

## Testing

1. Log in a global user and create a new label
1. Create a team admin user
1. Verify that the team admin user can create a label
2. Verify that the team admin user can edit their own label
2. Verify that the team admin user can delete their own label
2. Verify that the team admin user cannot edit or delete the label
created by the global user
3. Create a team maintainer user
1. Verify that the team maintainer user can create a label
2. Verify that the team maintainer user can edit their own label
2. Verify that the team maintainer user can delete their own label
2. Verify that the team maintainer user cannot edit or delete the label
created by the global user
2. Verify that the team maintainer user cannot edit or delete the label
created by the team admin user
3. Verify that the team admin user cannot edit or delete the label
created by the team maintainer user
2025-03-19 09:38:53 -05:00
Victor Lyuboslavsky
6b7d232522
Additional CA validation (#27169)
For #26623

- Updated `github.com/groob/plist` to `github.com/micromdm/plist` -- it
was renamed
- Added validation that restricts DigiCert Fleet variables to
`com.apple.security.pkcs12` payloads plus additional restrictions
- Added validation that restricts Custom SCEP Fleet variables to
`com.apple.security.scep` payloads plus additional restrictions
- Enabled multiple CAs (Fleet variables) to be present in an Apple MDM
profile. But each CA can only be used once. For example, we can have
DigiCert CA and Custom SCEP CA in one Apple profile.

# Checklist for submitter
- [x] If database migrations are included, checked table schema to
confirm autoupdate
- For database migrations:
- [x] Checked schema for all modified table for columns that will
auto-update timestamps during migration.
- [x] Confirmed that updating the timestamps is acceptable, and will not
cause unwanted side effects.
- [x] Ensured the correct collation is explicitly set for character
columns (`COLLATE utf8mb4_unicode_ci`).
- [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
2025-03-19 08:27:55 -05:00
RachelElysia
4c6a74eacd
Fleet Design: Add software icons into storybook (#27238) 2025-03-19 09:22:12 -04:00
Noah Talerman
eadb625b3f
"Security" and "IT" (#27260)
- Update CHANGELOG and release article sections to just "IT" and
"Security"
- Why?
- Security looks smaller when VM is broken out. I think we can treat VM
as security.
- Trying the same in the upcoming roadmap preview article here:
https://github.com/fleetdm/fleet/pull/26990/files
- Security” and “IT” headers would fit nicely with our GitOps folder for
dogfood: `/it-and-security`
2025-03-19 09:19:41 -04:00
Eric
e0b0219a89
Website: Update start CTA for logged-out users (#27228)
Closes: https://github.com/fleetdm/confidential/issues/9975

Changes:
- Updated the start CTA to be collapsed by default for users who aren't
signed in.
2025-03-18 17:39:41 -05:00
Eric
a71ea00159
Website: add platform icons to osquery table schema pages (#27262)
Closes: https://github.com/fleetdm/confidential/issues/9976

Changes:
- Brought back the platform icons to the osquery table schema pages.
2025-03-18 17:28:09 -05:00
jacobshandling
11307525d1
UI: Validate both org logo URLs, accept data URIs (#27160)
## For #26271 


![ezgif-582a8acaa8686e](https://github.com/user-attachments/assets/4284bbf7-8708-46f3-b020-f4039f8bd1b0)

- [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>
2025-03-18 12:57:07 -07:00
jacobshandling
7953fe2e2c
UI: Simplify New policy flow (#27173)
## For #26052 

- Remove add policy modal from flow
- Update "Schema" links
- Add "Examples" link


![add-policy](https://github.com/user-attachments/assets/69d60573-f6a6-45e8-92ff-4faa29f224a9)




- [x] Changes file added for user-visible changes in `changes/
- [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

---------

Co-authored-by: Jacob Shandling <jacob@fleetdm.com>
2025-03-18 12:56:05 -07:00
Marko Lisica
e227e5521a
Add WiFi settings (#27222)
Adding a WiFi settings section, to communicate to users that Fleet is
able to connect you to a corporate network and deliver certificates.

Related to:

- #23235
2025-03-18 15:47:38 -04:00
Noah Talerman
26fe4012db
Product Design handbook (#27247)
- Update what Product Designers work on when we hit capacity
2025-03-18 15:46:48 -04:00
Sarah Gillespie
e9e0f7b7e3
Update activity log UI for certificate authority features (#27227) 2025-03-18 14:41:03 -05:00