mirror of
https://github.com/bartvdbraak/keyweave.git
synced 2025-04-28 07:11:21 +00:00
Merge pull request #19 from bartvdbraak/feat/cargo-publish
Publish to crates.io and improve documentation
This commit is contained in:
commit
c1632d4d24
6 changed files with 59 additions and 23 deletions
5
.github/renovate.json
vendored
Normal file
5
.github/renovate.json
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": ["config:base"],
|
||||||
|
"reviewers": ["bartvdbraak"]
|
||||||
|
}
|
23
.github/workflows/release.yml
vendored
23
.github/workflows/release.yml
vendored
|
@ -145,12 +145,12 @@ jobs:
|
||||||
keyweave-*.tar.xz
|
keyweave-*.tar.xz
|
||||||
keyweave-x86_64-pc-windows-gnu/keyweave.exe
|
keyweave-x86_64-pc-windows-gnu/keyweave.exe
|
||||||
|
|
||||||
sign:
|
release:
|
||||||
needs:
|
needs:
|
||||||
- pre-check
|
- pre-check
|
||||||
- build
|
- build
|
||||||
|
|
||||||
name: Checksum and sign
|
name: Sign and Release
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
|
@ -195,7 +195,6 @@ jobs:
|
||||||
github-token: ${{ secrets.PAT_TOKEN }}
|
github-token: ${{ secrets.PAT_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
const sha256sums = ${{ steps.homebrew-inputs.outputs.sha256sums }}
|
const sha256sums = ${{ steps.homebrew-inputs.outputs.sha256sums }}
|
||||||
|
|
||||||
await github.rest.actions.createWorkflowDispatch({
|
await github.rest.actions.createWorkflowDispatch({
|
||||||
owner: 'bartvdbraak',
|
owner: 'bartvdbraak',
|
||||||
repo: 'homebrew-keyweave',
|
repo: 'homebrew-keyweave',
|
||||||
|
@ -205,4 +204,20 @@ jobs:
|
||||||
version: '${{ needs.pre-check.outputs.version }}',
|
version: '${{ needs.pre-check.outputs.version }}',
|
||||||
sha256sums: JSON.stringify(sha256sums)
|
sha256sums: JSON.stringify(sha256sums)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
publish:
|
||||||
|
needs: release
|
||||||
|
name: Publish crate
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Install stable toolchain
|
||||||
|
uses: actions-rs/toolchain@v1
|
||||||
|
with:
|
||||||
|
profile: minimal
|
||||||
|
toolchain: stable
|
||||||
|
override: true
|
||||||
|
|
||||||
|
- run: cargo publish --token ${CARGO_REGISTRY_TOKEN}
|
||||||
|
env:
|
||||||
|
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }}
|
6
Cargo.lock
generated
6
Cargo.lock
generated
|
@ -852,7 +852,7 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "keyweave"
|
name = "keyweave"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"azure_identity",
|
"azure_identity",
|
||||||
"azure_security_keyvault",
|
"azure_security_keyvault",
|
||||||
|
@ -1464,9 +1464,9 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "smallvec"
|
name = "smallvec"
|
||||||
version = "1.11.1"
|
version = "1.11.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
|
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "socket2"
|
name = "socket2"
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
[package]
|
[package]
|
||||||
name = "keyweave"
|
name = "keyweave"
|
||||||
version = "0.2.1"
|
version = "0.2.2"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
authors = ["Bart van der Braak <bart@vanderbraak.nl>"]
|
authors = ["Bart van der Braak <bart@vanderbraak.nl>"]
|
||||||
|
keywords = ["azure", "keyvault", "env"]
|
||||||
|
description = "Fetches secrets from Azure Key Vault and weaves them into a convenient .env file"
|
||||||
|
license = "GPL-3.0"
|
||||||
|
documentation = "https://docs.rs/keyweave"
|
||||||
|
repository = "https://github.com/bartvdbraak/keyweave/"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
azure_identity = "0.17.0"
|
azure_identity = "0.17.0"
|
||||||
|
|
35
README.md
35
README.md
|
@ -1,6 +1,6 @@
|
||||||
# Keyweave
|
# Keyweave
|
||||||
|
|
||||||
<img align="right" src="https://github.com/bartvdbraak/keyweave/assets/3996360/bed7f004-e897-46e5-98a4-c654251c0e17" alt="Cluster" height="256">
|
<img align="right" src="https://github.com/bartvdbraak/keyweave/assets/3996360/bed7f004-e897-46e5-98a4-c654251c0e17" alt="Cluster" width="40%">
|
||||||
|
|
||||||
Keyweave is an open-source tool crafted to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient `.env` file. Developed in Rust, Keyweave stands out for its efficiency and user-friendly design, making it an ideal choice for managing your application's secrets.
|
Keyweave is an open-source tool crafted to seamlessly fetch secrets from Azure Key Vault and weave them into a convenient `.env` file. Developed in Rust, Keyweave stands out for its efficiency and user-friendly design, making it an ideal choice for managing your application's secrets.
|
||||||
|
|
||||||
|
@ -15,14 +15,25 @@ Keyweave is an open-source tool crafted to seamlessly fetch secrets from Azure K
|
||||||
|
|
||||||
Before diving into Keyweave, ensure you have the following prerequisites:
|
Before diving into Keyweave, ensure you have the following prerequisites:
|
||||||
|
|
||||||
- **Azure Account**: Log into your Azure tenant and set up the right subscription, along with any Access Policies required for you to read and list secrets from your Key Vault.
|
- Logged into the right Azure tenant:
|
||||||
|
|
||||||
```sh
|
```bash
|
||||||
az login --tenant "your-tenant-guid"
|
az login --tenant "your-tenant-guid"
|
||||||
az account set --subscription "your-subscription-guid"
|
```
|
||||||
|
|
||||||
|
- Identity has `Get` and `List` Secret Permissions in the Access Policies of the Key Vault.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Cargo
|
||||||
|
|
||||||
|
Keyweave is built with [Cargo](https://doc.rust-lang.org/cargo/), the Rust package manager. It can also be used to install from [crates.io](https://crates.io/crates/keyweave):
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cargo install keyweave
|
||||||
```
|
```
|
||||||
|
|
||||||
## Installation (MacOS, Linux)
|
### Homebrew (MacOS, Linux)
|
||||||
|
|
||||||
For MacOS and Linux systems, installation is a breeze with [Homebrew](https://brew.sh/). Simply run:
|
For MacOS and Linux systems, installation is a breeze with [Homebrew](https://brew.sh/). Simply run:
|
||||||
|
|
||||||
|
@ -31,13 +42,15 @@ brew tap bartvdbraak/keyweave
|
||||||
brew install keyweave
|
brew install keyweave
|
||||||
```
|
```
|
||||||
|
|
||||||
## Manual Download
|
### Manual Download
|
||||||
|
|
||||||
If you prefer manual installation or need binaries for different platforms (including an executable for Windows), visit the [Releases](/releases) page of this GitHub repository.
|
If you prefer manual installation or need binaries for different platforms (including an executable for Windows), visit the [Releases](/releases) page of this GitHub repository.
|
||||||
|
|
||||||
## Building from Source
|
```powershell
|
||||||
|
Invoke-WebRequest -Uri 'https://github.com/bartvdbraak/keyweave/releases/latest/download/keyweave.exe' -OutFile 'keyweave.exe'
|
||||||
|
```
|
||||||
|
|
||||||
Keyweave is built with [Cargo](https://doc.rust-lang.org/cargo/), the Rust package manager.
|
## Building from Source
|
||||||
|
|
||||||
To build Keyweave from source, follow these steps:
|
To build Keyweave from source, follow these steps:
|
||||||
|
|
||||||
|
@ -71,6 +84,10 @@ keyweave --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
|
||||||
keyweave --vault_name my-key-vault --output my-env-file.env --filter my-secret
|
keyweave --vault_name my-key-vault --output my-env-file.env --filter my-secret
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
Additional documentation for this package can be found on [docs.rs](https://docs.rs/keyweave).
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Keyweave is licensed under the GPLv3 License. See [LICENSE](LICENSE) for more details.
|
Keyweave is licensed under the GPLv3 License. See [LICENSE](LICENSE) for more details.
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
||||||
"extends": [
|
|
||||||
"config:base"
|
|
||||||
]
|
|
||||||
}
|
|
Loading…
Reference in a new issue