A terminal UI for Azure Key Vault and Container Apps secrets management, inspired by LazyDocker and LazyGit.
- 🔐 Browse Azure Key Vaults and Container Apps across multiple accounts and subscriptions
- 🎨 Colorful UI with unique colors per subscription/vault/app name
- ✏️ Create, edit, and delete secrets directly from the terminal
- 📋 Copy to clipboard with a single keystroke
- 🔍 Filter secrets by name
- ⚡ Fast - uses Azure SDK with intelligent caching
- ⌨️ Keyboard-driven interface
- 🐳 Container Apps support - manage secrets for Azure Container Apps alongside Key Vaults
- .NET 10.0 SDK or later
- Azure CLI installed and logged in
lazykeyvault
dotnet tool install --global LazyKeyVault
Make sure you are logged in with Azure CLI
az login
git clone https://github.com/tomludd/LazyKeyVault.git
cd LazyKeyVault
dotnet run# Clone the repository
git clone https://github.com/tomludd/LazyKeyVault.git
cd LazyKeyVault
# Pack and install globally
dotnet pack -c Release -o ./nupkg
dotnet tool install -g --add-source ./nupkg LazyKeyVaultdotnet tool uninstall -g LazyKeyVault
dotnet pack -c Release -o ./nupkg
dotnet tool install -g --add-source ./nupkg LazyKeyVault| Key | Action |
|---|---|
Ctrl+1 |
Focus Accounts panel |
Ctrl+2 |
Focus Subscriptions panel |
Ctrl+3 |
Focus Resources panel (Key Vaults / Container Apps) |
Ctrl+4 |
Focus Secrets panel |
Ctrl+5 |
Focus Details panel |
↑/↓ |
Navigate lists |
Enter |
Reveal secret value |
Ctrl+C |
Copy secret to clipboard (works for both Key Vaults and Container Apps) |
Ctrl+E |
Edit selected secret (works for both Key Vaults and Container Apps) |
Ctrl+N |
Create new secret (works for both Key Vaults and Container Apps) |
Ctrl+D |
Delete selected secret (works for both Key Vaults and Container Apps) |
Ctrl+A |
Load all secret values (works for both Key Vaults and Container Apps) |
Ctrl+R |
Refresh data (clear cache) |
/ |
Focus search/filter field |
Esc |
Clear search / Quit |
╭─Accounts (^1)─────────────────╮╭─Secrets (^4)─────────────────────────────╮
│ user@contoso.com ││ / [filter...] │
╰───────────────────────────────╯│ > database-connection │
╭─Subscriptions (^2)────────────╮│ api-key │
│ myapp: ││ storage-key │
│ dev-myapp │╰──────────────────────────────────────────╯
│ prd-myapp │╭─Secret Details (^5)──────────────────────╮
│ tst-myapp ││ Name: my-secret │
│ other-subscription ││ Value: [Press Enter to load] │
╰───────────────────────────────╯│ Created: 2025-01-10 14:30:22 │
╭─Resources (^3)────────────────╮│ Updated: 2025-01-14 09:15:33 │
│ kv-dev-myapp ││ Expires: Never │
│ kv-prd-myapp ││ Enabled: Yes │
│ ca-myapp ││ ─── Actions ─── │
╰───────────────────────────────╯╰──────────────────────────────────────────╯
^1-5:Panels ^C:Copy ^E:Edit ^N:New ^D:Del ^A:LoadAll ^R:Refresh [/]Search
- Full CRUD operations on secrets
- Secret metadata (created, updated, expires, enabled status)
- Fast SDK-based operations with intelligent caching
- Full CRUD operations on secrets
- Uses Azure CLI for secret management
- Parallel loading of secret values and Container Apps resource listing
- Azure CLI - Authentication via
az loginand Container Apps secret operationsdata like Key Vaults do
- Secret values are hidden by default - Press Enter to reveal
- Uses Azure CLI authentication - no credentials stored in the app
- Intelligent caching for performance (use Ctrl+R to refresh)
- .NET 10.0 - Cross-platform runtime
- Terminal.Gui v2 - TUI framework
- Azure SDK - Key Vault operations (secrets, vault listing)
- Azure CLI - Authentication via
az login - TextCopy - Cross-platform clipboard support
MIT License - see LICENSE for details.
Contributions are welcome! Please feel free to submit a Pull Request.