Install
aqua is a single binary written in Go.
- Install the binary
aqua
inPATH
- Set the environment variable
PATH
- (Optional) Shell completion
1. Install the binary aqua
in PATH
- Homebrew
- Windows
- aqua-installer (Shell Script)
- aqua-installer (GitHub Actions)
- CircleCI Orb
- go install
- Dev Container Feature
- Download prebuilt binaries from GitHub Releases
Homebrew
brew install aquaproj/aqua/aqua
Winget
From aqua v2.17.4, you can install aqua by Winget.
winget install aquaproj.aqua
Due to the mechanism of Winget, it takes a few days at most until we can install the latest version after the latest version has been released. Everytime a new version is released, we need to send a pull request to microsoft/winget-pkgs and wait until the pull request is merged. The list of pull requests
Scoop
From aqua v2.16.2, you can also install aqua by Scoop.
scoop bucket add aquaproj https://github.com/aquaproj/scoop-bucket
scoop install aqua
go install
go install github.com/aquaproj/aqua/v2/cmd/aqua@latest
Download prebuilt binaries from GitHub Releases
https://github.com/aquaproj/aqua/releases
Verify downloaded binaries from GitHub Releases
You can verify downloaded binaries using some tools.
--
- Cosign:
You can install Cosign by aqua.
aqua g -i sigstore/cosign
# Download assets from GitHub Releases.
gh release download -R aquaproj/aqua v2.34.0
# Verify a checksum file.
cosign verify-blob \
--signature aqua_2.34.0_checksums.txt.sig \
--certificate aqua_2.34.0_checksums.txt.pem \
--certificate-identity-regexp 'https://github\.com/suzuki-shunsuke/go-release-workflow/\.github/workflows/release\.yaml@.*' \
--certificate-oidc-issuer "https://token.actions.githubusercontent.com" \
aqua_2.34.0_checksums.txt
Output:
Verified OK
After verifying the checksum, verify the artifact.
cat aqua_2.34.0_checksums.txt | sha256sum -c --ignore-missing
- slsa-verifier
You can install slsa-verifier by aqua.
aqua g -i slsa-framework/slsa-verifier
# Download assets from GitHub Releases.
gh release download -R aquaproj/aqua v2.34.0
# Verify an asset.
slsa-verifier verify-artifact aqua_darwin_arm64.tar.gz \
--provenance-path multiple.intoto.jsonl \
--source-uri github.com/aquaproj/aqua \
--source-tag v2.34.0
Output:
Verified signature against tlog entry index 133024968 at URL: https://rekor.sigstore.dev/api/v1/log/entries/108e9186e8c5677af3bf58014b72ab1571f566855d27109b70403a96394003283d540765fc0e2c20
Verified build using builder "https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@refs/tags/v2.0.0" at commit 2f9cc345c3c49b9a0c8fcd9d8e1c461bbd8fd533
Verifying artifact aqua_darwin_arm64.tar.gz: PASSED
PASSED: SLSA verification passed
- GitHub CLI
You can install GitHub CLI by aqua.
aqua g -i cli/cli
# Download assets from GitHub Releases.
gh release download -R aquaproj/aqua v2.35.0-1 -p aqua_darwin_arm64.tar.gz
# Verify an asset.
gh attestation verify aqua_darwin_arm64.tar.gz \
-R aquaproj/aqua \
--signer-workflow suzuki-shunsuke/go-release-workflow/.github/workflows/release.yaml
Output:
Loaded digest sha256:763c8d5e6b8585ebb9d9bab0ee1fcafd4a29c3e7f44a85ac77780bac3ca6fff1 for file://aqua_darwin_arm64.tar.gz
Loaded 1 attestation from GitHub API
✓ Verification succeeded!
sha256:763c8d5e6b8585ebb9d9bab0ee1fcafd4a29c3e7f44a85ac77780bac3ca6fff1 was attested by:
REPO PREDICATE_TYPE WORKFLOW
suzuki-shunsuke/go-release-workflow https://slsa.dev/provenance/v1 .github/workflows/release.yaml@7f97a226912ee2978126019b1e95311d7d15c97a
2. Set the environment variable PATH
From aqua v2.8.0, aqua root-dir
command is available.
export PATH="$(aqua root-dir)/bin:$PATH"
If you use aqua combined with other version manager such as asdf,
please add ${AQUA_ROOT_DIR}/bin
to the environment variable PATH
after other version manager.
For detail, please see here.
Linux, macOS
export PATH="${AQUA_ROOT_DIR:-${XDG_DATA_HOME:-$HOME/.local/share}/aquaproj-aqua}/bin:$PATH"
Windows
About Windows, please see here too.
- Git Bash (mingw)
- PowerShell
- Command Prompt
Git Bash (mingw)
export PATH="${AQUA_ROOT_DIR:-${XDG_DATA_HOME:-${LOCALAPPDATA:-$HOME/AppData/Local}}/aquaproj-aqua}/bin:$PATH"
The order of priority is as follows:
$AQUA_ROOT_DIR/bin
: If$AQUA_ROOT_DIR
is set$XDG_DATA_HOME/aquaproj-aqua/bin
: If$XDG_DATA_HOME
is set$LOCALAPPDATA/aquaproj-aqua/bin
: If$LOCALAPPDATA
is set$HOME/AppData/Local/aquaproj-aqua/bin
PowerShell
Set-Item Env:Path "$Env:LOCALAPPDATA\aquaproj-aqua\bin;$Env:Path"
If LOCALAPPDATA
isn't set,
Set-Item Env:Path "$Env:HOMEPATH\AppData\Local\aquaproj-aqua\bin;$Env:Path"
You can customize the path with the environment variable AQUA_ROOT_DIR
.
Set-Item Env:Path "$Env:AQUA_ROOT_DIR\bin;$ENV:Path"
Command Prompt
SET PATH=%LOCALAPPDATA%\aquaproj-aqua\bin;%PATH%
If LOCALAPPDATA
isn't set,
SET PATH=%HOMEPATH%\AppData\Local\aquaproj-aqua\bin;%PATH%
You can also customize the path with the environment variable AQUA_ROOT_DIR
.
SET PATH=%AQUA_ROOT_DIR%\bin;%PATH%