Frontend: Indicate in the UI if a secret is stale/needs attention

Why are we doing this work

Secrets transactions require multiple API calls to OpenBao and Rails to complete the operation. These calls happen sequentially, and if any call fails, the subsequent operations are not attempted. It is possible for a secret to be partially available to view but would result in an error when accessed or used because of partial failures in a previous operation (the scenarios are detailed in the description of Design UX for handling partially failed operati... (#538171 - closed))

Proposal

We need a way to indicate in the UI whether a secret is Healthy (the secret transactions is completely successful) or Needs attention (the transaction partially failed). If the secret Needs attention, we can suggest the user to delete the secret and re-try the transaction again. This is a temporary solution for now; we will revisit the UX later once we gather more data from how customers use secrets.

On the frontend side, this requires:

  • Fetching the secret health statuses
  • Adding a status icon to the secret in the index list and the secret details page, with a tooltip that explains the status
  • If the secret Needs Attention, our CTA for the user would be to delete the secret.

Relevant links

Refer to #538171 (comment 2725622649) for the relevant discussion.

Implementation table

Group Issue Link
backend Implement stale indicator for secrets
frontend 👈 You are here

Verification steps

  1. Upload a Premium+ license.
  2. Enable the secrets_manager feature flag.
  3. Set up openbao on your gdk.
  4. Enable the Secrets Manager on gdk for a project.
  5. Go to Secure > Secrets manager and create a secret.
  6. Verify that the status is rendered for the table and the secret details page.
Edited by 🤖 GitLab Bot 🤖