How john361/vault-secrets works
Vault Secrets is a Rust CLI for retrieving Vault secrets and creating or restoring encrypted backups. The main workflow parses a command and loads configuration, then dispatches to find, export, or import operations. Find retrieves a selected secret for script use; export traverses configured mounts and writes encrypted backup files; import decrypts backup files and restores secret data and supported metadata. The README also documents base64 output and request-rate delays. The find implementation and configuration loader were not sampled, so their internal Vault-call wiring is not shown.
Main entry points: app.rs Command dispatcher · export.rs Export backup · import.rs Import backup · client.rs Vault API client
Components 15
CLI and orchestration
- CLI executable
src/bin/main.rs - Command dispatcher
src/lib/app.rs - Command arguments
src/lib/cli.rs
Configuration
- App configuration
src/lib/config.rs - Vault settings
src/lib/vault/config
Vault operations
- Find secrets
src/lib/vault/business/find.rs - Vault API client
src/lib/vault/client.rs
Backup and encoding
- Export backup
src/lib/vault/business/export.rs - Import backup
src/lib/vault/business/import.rs - Backup data model
src/lib/vault/model.rs - Secret and encryption
src/lib/secret.rs
Other components
- Operator or script
- HashiCorp Vault
- Backup files
- Command output
Connections 18
- Operator or script → CLI executable: invokes
- CLI executable → Command dispatcher: runs
- Command dispatcher → Command arguments: loads arguments
- Command dispatcher → App configuration: loads configuration
- App configuration → Vault settings: deserializes settings
- Command dispatcher → Find secrets: dispatches find
- Command dispatcher → Export backup: dispatches export
- Command dispatcher → Import backup: dispatches import
- Find secrets → Command output: prints result
- Export backup → Vault API client: reads secrets
- Export backup → Backup data model: builds backup records
- Export backup → Secret and encryption: encrypts backup
- Export backup → Backup files: writes backup
- Backup files → Import backup: supplies backup
- Import backup → Secret and encryption: decrypts backup
- Import backup → Backup data model: parses records
- Import backup → Vault API client: restores data and metadata
- Vault API client → HashiCorp Vault: reads and writes secrets