A native desktop app for managing AWS SSM Parameter Store secrets through the chamber CLI — with a clean, keyboard-friendly interface built on Tauri 2, Vue 3, and shadcn-vue.
- Browse services — collapsible sidebar lists all chamber services for the selected profile and region
- Read secrets — table view with masked values, reveal toggle per row, and live filter
- Write & delete — add, edit, or delete secrets with a confirmation dialog; the UI polls until AWS confirms the change before updating
- Export to clipboard — copy all secrets for a service as a
.env-formatted block - AWS SSO — log in via browser-based SSO directly from the app, or connect using an existing session
- Profile & region picker — select from all profiles in
~/.aws/config; region is auto-filled from the profile and can be changed via dropdown
| Tool | Version |
|---|---|
| Node.js | 18+ |
| Rust | stable |
| Tauri CLI prerequisites | macOS / Linux / Windows |
| chamber | any recent version |
| AWS credentials | profile in ~/.aws/config or environment variables |
Install chamber on macOS:
brew install chamber# 1. Clone
git clone https://github.com/your-org/chamber-ui.git
cd chamber-ui
# 2. Install JS dependencies
npm install
# 3. Run in development mode
npm run tauri dev
# 4. Build a production bundle
npm run tauri buildThe first tauri dev or tauri build will compile the Rust backend — this takes a couple of minutes on a fresh machine.
- Select your AWS profile from the dropdown (populated from
~/.aws/config). - The region is auto-filled from the profile; change it if needed.
- Click Connect if you already have valid credentials, or Login with AWS SSO to authenticate via browser.
- Once authenticated, your services appear in the left sidebar.
- Click a service to load its secrets.
- Use the action buttons on each row to copy, edit, or delete a secret.
- Click + Add in the header to create a new secret.
- Click the export button to copy all secrets as
KEY=valuepairs to the clipboard.
| Layer | Technology |
|---|---|
| Desktop shell | Tauri 2 (Rust) |
| Frontend | Vue 3 + TypeScript + Vite |
| UI components | shadcn-vue + Tailwind CSS |
| State | Pinia |
| Icons | Lucide |
| Secrets backend | chamber → AWS SSM Parameter Store |
chamber-ui/
├── src/
│ ├── components/
│ │ ├── AuthView.vue # Login screen (profile, region, SSO)
│ │ ├── SecretsView.vue # Main layout after auth
│ │ ├── AppSidebar.vue # Collapsible service list
│ │ ├── SecretsHeader.vue # Toolbar (service name, add, export, refresh)
│ │ ├── SecretsTable.vue # Secrets table with reveal / copy / edit / delete
│ │ └── SecretDialog.vue # Add / edit dialog
│ ├── stores/
│ │ └── chamber.ts # Pinia store — all invoke calls and polling logic
│ └── assets/index.css # Tailwind + CSS variable theming
└── src-tauri/
└── src/
├── lib.rs # Tauri builder + command registration
└── commands.rs # Rust commands (chamber & AWS CLI wrappers)
MIT — free to use, modify, and distribute. Attribution appreciated.
Made with ❤️
