Merge pull request #13 from bartvdbraak/feat/homebrew-releases

Trigger the Homebrew release
This commit is contained in:
Bart van der Braak 2023-11-09 00:40:52 +01:00 committed by GitHub
commit dc1a2db548
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 64 additions and 15 deletions

View file

@ -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:
@ -180,3 +182,28 @@ jobs:
keyweave-*.tar.xz
keyweave-*/keyweave.exe
*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)
}
})

View file

@ -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.