diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 60efd6b31ae32a51679f1beec22f29c3da7f1f91..73f7a1811cac304f36f32e40c54fc73d88550732 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -82,3 +82,4 @@ jobs: args: release --release-notes=/tmp/release.txt --skip-validate env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + HOMEBREW_TAP_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} diff --git a/.goreleaser.yml b/.goreleaser.yml index cc8d13b07d5258b9a972e81b918152bf1881aef8..1668715780df1e9cd1953e96eba174439dd2ee3a 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -15,3 +15,19 @@ archives: - name_template: "{{ .Binary }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}" files: - none* +brews: + - tap: + owner: fluxcd + name: homebrew-tap + token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" + + folder: Formula + homepage: "https://toolkit.fluxcd.io/" + description: "GitOps Toolkit CLI" + + dependencies: + - name: kubectl + type: optional + + test: | + system "#{bin}/gotk --version" diff --git a/docs/get-started/index.md b/docs/get-started/index.md index 6c6a06f6f37261c28f6107391b31612359e90fb8..d6494b7be1bec59e444fbaafd0013547c6c6d62e 100644 --- a/docs/get-started/index.md +++ b/docs/get-started/index.md @@ -19,7 +19,15 @@ export GITHUB_USER=<your-username> ## Install the toolkit CLI -To install the latest `gotk` release run: +To install the latest `gotk` release on MacOS and Linux using +[Homebrew](https://brew.sh/) run: + +```sh +brew tap fluxcd/tap +brew install gotk +``` + +Or install `gotk` by downloading precompiled binaries using a Bash script: ```sh curl -s https://toolkit.fluxcd.io/install.sh | sudo bash @@ -29,7 +37,7 @@ The install script downloads the gotk binary to `/usr/local/bin`. Binaries for macOS and Linux AMD64/ARM64 are available for download on the [release page](https://github.com/fluxcd/toolkit/releases). -To configure your shell to load gotk completions add to your bash profile: +To configure your shell to load gotk completions add to your Bash profile: ```sh # ~/.bashrc or ~/.bash_profile diff --git a/docs/guides/installation.md b/docs/guides/installation.md index 5d7957852fc80a82e92c63c703de586be00786d3..be99fe35f7607c853a3e6784d346db5df9c8d477 100644 --- a/docs/guides/installation.md +++ b/docs/guides/installation.md @@ -8,13 +8,24 @@ to manage one or more Kubernetes clusters. You will need a Kubernetes cluster version **1.16** or newer and kubectl version **1.18** or newer. -Install the toolkit CLI with: +## Install the toolkit CLI + +With Homebrew: + +```sh +brew tap fluxcd/tap +brew install gotk +``` + +With Bash: ```sh curl -s https://toolkit.fluxcd.io/install.sh | sudo bash + +# enable completions in ~/.bash_profile +. <(gotk completion) ``` -The install script downloads the gotk binary to `/usr/local/bin`. Binaries for macOS and Linux AMD64/ARM64 are available for download on the [release page](https://github.com/fluxcd/toolkit/releases).