mirror of
https://github.com/bartvdbraak/keyweave.git
synced 2025-04-27 14:51:21 +00:00
Fetches secrets from Azure Key Vault and weaves them into a convenient .env file
.github/workflows | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE | ||
README.md |
Keyweave
Keyweave is an open-source tool designed to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient .env
file. Developed in Rust, Keyweave is efficient and easy to use, making it an ideal choice for managing your application's secrets.
Features
- Fetch Secrets: Retrieve secrets securely from Azure Key Vault.
- Filtering: Optionally filter the secrets to be retrieved by name.
- Output Customization: Choose the name of the output file, defaulting to
.env
. - Azure Default Credentials: Utilizes Azure default credentials for authentication.
Prerequisites
- Rust: Ensure you have Rust installed on your system. If not, you can install it using rustup.
- Azure Account: Log into your Azure tenant and set up the right subscription.
Installation
Clone the repository to your local machine:
git clone https://github.com/your-username/keyweave.git
cd keyweave
Build the project:
cargo build --release
Usage
After building the project, you can run Keyweave using the following command:
cargo run -- --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
--vault_name <VAULT_NAME>
: Sets the name of the Azure Key Vault.--output <FILE>
: (Optional) Sets the name of the output file (default:.env
).--filter <FILTER>
: (Optional) Filters the secrets to be retrieved by name.
Example
cargo run -- --vault_name my-key-vault --output my-env-file.env --filter my-secret
License
Keyweave is licensed under the MIT License. See LICENSE for more details.
Contributing
We welcome contributions! Please feel free to submit pull requests, report issues, or suggest new features.