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"]
|
||||
}
|
21
.github/workflows/release.yml
vendored
21
.github/workflows/release.yml
vendored
|
@ -145,12 +145,12 @@ jobs:
|
|||
keyweave-*.tar.xz
|
||||
keyweave-x86_64-pc-windows-gnu/keyweave.exe
|
||||
|
||||
sign:
|
||||
release:
|
||||
needs:
|
||||
- pre-check
|
||||
- build
|
||||
|
||||
name: Checksum and sign
|
||||
name: Sign and Release
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
id-token: write
|
||||
|
@ -195,7 +195,6 @@ jobs:
|
|||
github-token: ${{ secrets.PAT_TOKEN }}
|
||||
script: |
|
||||
const sha256sums = ${{ steps.homebrew-inputs.outputs.sha256sums }}
|
||||
|
||||
await github.rest.actions.createWorkflowDispatch({
|
||||
owner: 'bartvdbraak',
|
||||
repo: 'homebrew-keyweave',
|
||||
|
@ -206,3 +205,19 @@ jobs:
|
|||
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]]
|
||||
name = "keyweave"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
dependencies = [
|
||||
"azure_identity",
|
||||
"azure_security_keyvault",
|
||||
|
@ -1464,9 +1464,9 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "smallvec"
|
||||
version = "1.11.1"
|
||||
version = "1.11.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "942b4a808e05215192e39f4ab80813e599068285906cc91aa64f923db842bd5a"
|
||||
checksum = "4dccd0940a2dcdf68d092b8cbab7dc0ad8fa938bf95787e1b916b0e3d0e8e970"
|
||||
|
||||
[[package]]
|
||||
name = "socket2"
|
||||
|
|
|
@ -1,8 +1,13 @@
|
|||
[package]
|
||||
name = "keyweave"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
edition = "2021"
|
||||
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]
|
||||
azure_identity = "0.17.0"
|
||||
|
|
33
README.md
33
README.md
|
@ -1,6 +1,6 @@
|
|||
# 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.
|
||||
|
||||
|
@ -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:
|
||||
|
||||
- **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 account set --subscription "your-subscription-guid"
|
||||
```
|
||||
|
||||
## Installation (MacOS, Linux)
|
||||
- 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
|
||||
```
|
||||
|
||||
### Homebrew (MacOS, Linux)
|
||||
|
||||
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
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
## 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:
|
||||
|
||||
|
@ -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
|
||||
```
|
||||
|
||||
## Documentation
|
||||
|
||||
Additional documentation for this package can be found on [docs.rs](https://docs.rs/keyweave).
|
||||
|
||||
## License
|
||||
|
||||
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