feat: vaults, scopes and files show their details: settings, access, keys and git status #16

Closed
keb wants to merge 0 commits from feat/container-details into main
pull from: feat/container-details
Owner

The right pane on a vault, scope or file now shows more than its name and URI.

  • Azure vault: resource group, location, SKU, access model (Azure roles or access policies, with their count), soft delete and retention, purge protection, network (all / selected networks with counts / private endpoints only), private endpoints, tags. No extra requests: the Resource Graph query that lists vaults now also projects these columns (just these, not the whole properties; access policies can be long), and the management-API fallback reads them from its list. They're in Container.Attrs, so the disk cache keeps them too.
  • Databricks scope: who has access and how much (manage, write, read). This needs one request per scope, the first time you're on it (listing scopes doesn't include ACLs). Only the scope's managers may see it; to others it says so instead of an error.
  • Repo file: encryption and the keys it's encrypted for (public: age recipients, Key Vault keys, KMS ARNs, PGP fingerprints), when it was last encrypted, git status (tracked / ignored / neither) and its last commit. No network: the file is already read when listing; 2–3 local git commands. A plain .env that git tracks, or doesn't ignore, is marked red.

Implementation: Container.Attrs for what comes with the listing; provider.ContainerDetails (Details(ctx, c)) for what doesn't (Databricks, repos), loaded once a session like an account's groups (r in the middle pane loads again); Attr.Warn. Tests for each provider against fakes (Resource Graph rows, ARM over TLS, the Databricks API, real git repos) and the app.

Not verified against a live Azure tenant: both accounts needed a new sign-in (Conditional Access). Worth a look at a vault before merging.

🤖 Generated with Claude Code

The right pane on a vault, scope or file now shows more than its name and URI. - **Azure vault**: resource group, location, SKU, access model (Azure roles or access policies, with their count), soft delete and retention, purge protection, network (all / selected networks with counts / private endpoints only), private endpoints, tags. **No extra requests**: the Resource Graph query that lists vaults now also projects these columns (just these, not the whole properties; access policies can be long), and the management-API fallback reads them from its list. They're in `Container.Attrs`, so the disk cache keeps them too. - **Databricks scope**: who has access and how much (manage, write, read). This needs **one request per scope**, the first time you're on it (listing scopes doesn't include ACLs). Only the scope's managers may see it; to others it says so instead of an error. - **Repo file**: encryption and the keys it's encrypted for (public: age recipients, Key Vault keys, KMS ARNs, PGP fingerprints), when it was last encrypted, git status (tracked / ignored / neither) and its last commit. **No network**: the file is already read when listing; 2–3 local `git` commands. **A plain `.env` that git tracks, or doesn't ignore, is marked red.** Implementation: `Container.Attrs` for what comes with the listing; `provider.ContainerDetails` (`Details(ctx, c)`) for what doesn't (Databricks, repos), loaded once a session like an account's groups (`r` in the middle pane loads again); `Attr.Warn`. Tests for each provider against fakes (Resource Graph rows, ARM over TLS, the Databricks API, real git repos) and the app. Not verified against a live Azure tenant: both accounts needed a new sign-in (Conditional Access). Worth a look at a vault before merging. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
keb added 1 commit 2026-10-11 13:41:13 +02:00
feat: vaults, scopes and files show their details: a vault's settings, who has a scope, a file's keys and git status
CI / Checks (pull_request) Successful in 24s
PR title / Conventional title (pull_request) Successful in 1s
5381cf5d43
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 13:42:49 +02:00
feat: a vault's settings come with the vault list, with no requests of their own
CI / Checks (pull_request) Successful in 24s
PR title / Conventional title (pull_request) Successful in 2s
879b961ac5
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
keb added 1 commit 2026-10-11 13:43:39 +02:00
fix: details load once the cursor rests, and moving on cancels them
CI / Checks (pull_request) Successful in 25s
PR title / Conventional title (pull_request) Successful in 1s
cd35a8acf4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Author
Owner

Combined into #17.

Combined into #17.
keb closed this pull request 2026-10-11 13:51:35 +02:00

Pull request closed

This pull request cannot be reopened because the branch was deleted.
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: keb/lazysecrets#16