mirror of
https://github.com/bartvdbraak/keyweave.git
synced 2025-04-28 07:11:21 +00:00
Merge pull request #13 from bartvdbraak/feat/homebrew-releases
Trigger the Homebrew release
This commit is contained in:
commit
dc1a2db548
2 changed files with 64 additions and 15 deletions
33
.github/workflows/release.yml
vendored
33
.github/workflows/release.yml
vendored
|
@ -167,8 +167,10 @@ jobs:
|
|||
with:
|
||||
name: builds
|
||||
|
||||
- name: Checksums with SHA512
|
||||
run: sha512sum keyweave-* | tee SHA512SUMS
|
||||
- name: Checksums with SHA512 and SHA256
|
||||
run: |
|
||||
sha512sum keyweave-* | tee SHA512SUMS
|
||||
sha256sum keyweave-* | tee SHA256SUMS
|
||||
|
||||
- uses: softprops/action-gh-release@v1
|
||||
env:
|
||||
|
@ -179,4 +181,29 @@ jobs:
|
|||
files: |
|
||||
keyweave-*.tar.xz
|
||||
keyweave-*/keyweave.exe
|
||||
*SUMS*
|
||||
*SUMS*
|
||||
|
||||
- name: Create Homebrew inputs
|
||||
id: homebrew-inputs
|
||||
run: |
|
||||
sha256sums="{$(awk '{printf "%s '\''%s'\'': '\''%s'\''", (NR>1 ? "," : ""), $2, $1} END {print ""}' SHA256SUMS)}"
|
||||
echo "sha256sums=$sha256sums" >> $GITHUB_OUTPUT
|
||||
echo "version=$(git describe --tags --abbrev=0)" >> $GITHUB_OUTPUT
|
||||
|
||||
- uses: actions/github-script@v6
|
||||
name: Dispatch Homebrew release
|
||||
with:
|
||||
github-token: ${{ secrets.PAT_TOKEN }}
|
||||
script: |
|
||||
const sha256sums = JSON.parse('${{ steps.homebrew-inputs.outputs.sha256sums }}');
|
||||
|
||||
await github.rest.actions.createWorkflowDispatch({
|
||||
owner: 'bartvdbraak',
|
||||
repo: 'homebrew-keyweave',
|
||||
workflow_id: 'release.yml',
|
||||
ref: 'main',
|
||||
inputs: {
|
||||
version: '${{ steps.homebrew-inputs.outputs.version }}',
|
||||
sha256sums: JSON.stringify(sha256sums)
|
||||
}
|
||||
})
|
46
README.md
46
README.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
<img align="right" src="https://github.com/bartvdbraak/keyweave/assets/3996360/bed7f004-e897-46e5-98a4-c654251c0e17" alt="Cluster" height="256">
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
## Features
|
||||
|
||||
|
@ -13,30 +13,52 @@ Keyweave is an open-source tool designed to seamlessly fetch secrets from Azure
|
|||
|
||||
## Prerequisites
|
||||
|
||||
- **Rust**: Ensure you have Rust installed on your system. If not, you can install it using [rustup](https://rustup.rs/).
|
||||
- **Azure Account**: Log into your Azure tenant and set up the right subscription.
|
||||
Before diving into Keyweave, ensure you have the following prerequisites:
|
||||
|
||||
## Installation
|
||||
- **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.
|
||||
|
||||
Clone the repository to your local machine:
|
||||
```sh
|
||||
az login --tenant "your-tenant-guid"
|
||||
az account set --subscription "your-subscription-guid"
|
||||
```
|
||||
|
||||
## Installation (MacOS, Linux)
|
||||
|
||||
For MacOS and Linux systems, installation is a breeze with [Homebrew](https://brew.sh/). Simply run:
|
||||
|
||||
```bash
|
||||
brew tap bartvdbraak/keyweave
|
||||
brew install keyweave
|
||||
```
|
||||
|
||||
## 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
|
||||
|
||||
Keyweave is built with [Cargo](https://doc.rust-lang.org/cargo/), the Rust package manager.
|
||||
|
||||
To build Keyweave from source, follow these steps:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/bartvdbraak/keyweave.git
|
||||
cd keyweave
|
||||
cargo build --release
|
||||
```
|
||||
|
||||
Build the project:
|
||||
Once built, run Keyweave using Cargo:
|
||||
|
||||
```sh
|
||||
cargo build --release
|
||||
cargo run -- --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
After building the project, you can run Keyweave using the following command:
|
||||
With the binary on your `PATH`, run Keyweave as follows:
|
||||
|
||||
```sh
|
||||
cargo run -- --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
|
||||
keyweave --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
|
||||
```
|
||||
|
||||
- `--vault_name <VAULT_NAME>`: Sets the name of the Azure Key Vault.
|
||||
|
@ -46,13 +68,13 @@ cargo run -- --vault_name <VAULT_NAME> [--output <FILE>] [--filter <FILTER>]
|
|||
## Example
|
||||
|
||||
```sh
|
||||
cargo run -- --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
|
||||
```
|
||||
|
||||
## License
|
||||
|
||||
Keyweave is licensed under the GLPv3 License. See [LICENSE](LICENSE) for more details.
|
||||
Keyweave is licensed under the GPLv3 License. See [LICENSE](LICENSE) for more details.
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions! Please feel free to submit pull requests, report issues, or suggest new features.
|
||||
We welcome contributions! Feel free to submit pull requests, report issues, or suggest new features. Your input helps make Keyweave even better.
|
||||
|
|
Loading…
Reference in a new issue