feat(vault-tui): implement KV client and service for managing secrets

- Added internal/vault/client.go for creating a Vault client with configuration settings.
- Introduced internal/vault/errors.go to classify Vault API errors for better UI handling.
- Created internal/vault/kv.go to manage KV secrets, including listing, reading, writing, and deleting operations.
- Implemented internal/vault/mounts.go to list and describe secret engine mounts.
- Developed internal/vault/service.go to provide a unified entry point for Vault operations.
- Added internal/vault/kv_test.go for comprehensive testing of KV operations.
- Introduced internal/ui/toast.go for transient notifications in the UI.
- Added renovate.json for dependency management and updates.
This commit is contained in:
2026-08-14 11:09:03 +02:00
commit ae30ba1240
85 changed files with 9413 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
// Command vault-tui is a terminal UI and CLI for HashiCorp Vault.
package main
import (
"context"
"fmt"
"os"
"git.morlana.online/f.weber/vault-tui/internal/cli"
_ "git.morlana.online/f.weber/vault-tui/internal/ui" // registers the "ui" command's runner
)
// version is overridden at build time via -ldflags "-X main.version=...".
var version = "dev"
func main() {
root := cli.Root(version)
if err := root.Run(context.Background(), os.Args); err != nil {
fmt.Fprintln(os.Stderr, "error:", err)
os.Exit(1)
}
}