Skip to content

feat(ui): hide Helm release secrets by default, with toggle - #19

Merged
ErfanY merged 1 commit into
mainfrom
feat/hide-helm-secrets
Jun 25, 2026
Merged

feat(ui): hide Helm release secrets by default, with toggle#19
ErfanY merged 1 commit into
mainfrom
feat/hide-helm-secrets

Conversation

@ErfanY

@ErfanY ErfanY commented Jun 25, 2026

Copy link
Copy Markdown
Owner

Summary

Helm 3 stores release state as Secrets (type: helm.sh/release.v1, names sh.helm.release.v1.<release>.v<n>). They dominate the Secrets list and are rarely what an operator is looking for. This hides them by default and adds a toggle.

  • Hidden by default at the projection layer (Secrets view only — no effect on other kinds).
  • Toggle per-context-tab with H (Action::ToggleHelmSecrets, remappable via keymap.toml) or :helm. :helm show / :helm hide set the state explicitly.
  • The Secrets table title advertises the current state and the toggle key (helm hidden (H show) / helm shown (H hide)), so the filtered rows are never surprising.
── default (hidden) ──
[KIND] Secrets (2) · helm hidden (H show)
 app-config   Opaque              2
 tls-cert     kubernetes.io/tls   2
── after H (shown) ──
[KIND] Secrets (3) · helm shown (H hide)
 app-config                    Opaque               2
 sh.helm.release.v1.myapp.v3   helm.sh/release.v1   2
 tls-cert                      kubernetes.io/tls    2

Design

Detection lives in ResourceEntity::is_helm_release() (matches the helm type column or the sh.helm.release.v1. name prefix), so the projector filter stays a one-liner. The flag is a per-tab show_helm_secrets: bool threaded through ViewRequest.

Testing

  • make validate green locally (99 tests + release build)
  • new tests: model detection (type/name/negative/non-secret), projector hide-by-default + show-on-request, render+toggle integration (incl. title hint)

🤖 Generated with Claude Code

Helm 3 stores release state as Secrets (type helm.sh/release.v1, names
sh.helm.release.v1.<release>.v<n>). These dominate the Secrets list and are
rarely what an operator wants to see.

- Hidden by default at the projection layer (Secrets view only).
- Toggle per-context-tab with `H` (Action::ToggleHelmSecrets, remappable) or
  `:helm`; `:helm show` / `:helm hide` set state explicitly.
- The Secrets table title advertises current state and the toggle key, so the
  hidden rows are never a surprise.

Detection lives in ResourceEntity::is_helm_release() (matches the helm type
column or the sh.helm.release.v1. name prefix), keeping the projector clean.

Tests: model detection (type/name/negative/non-secret), projector hide-by-
default + show-on-request, and a render+toggle integration test.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ErfanY
ErfanY merged commit 8e9f425 into main Jun 25, 2026
1 check passed
@ErfanY
ErfanY deleted the feat/hide-helm-secrets branch June 25, 2026 11:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant