aqua

Version manager of CLI.
Slide
Speaker Deck

Quick Start
Install aqua.
$ curl -sSfL https://raw.githubusercontent.com/suzuki-shunsuke/aqua-installer/v0.1.2/aqua-installer | bash -s -- -i bin/aqua
$ export PATH=$PWD/bin:$HOME/.aqua/bin:$PATH
$ export GITHUB_TOKEN=<your personal access token>
Write aqua.yaml.
packages:
- name: jq
registry: standard
version: jq-1.5
registries:
- type: standard
ref: v0.2.0 # renovate: depName=suzuki-shunsuke/aqua-registry
Install tools.
$ aqua i
Tools are installed successfully.
$ jq --version
jq-1.5
Edit aqua.yaml.
$ sed -i "s/jq-1\.5/jq-1.6/" aqua.yaml
Run jq again, then jq's new version is installed automatically and jq is run.
$ jq --version
jq-1.6
Index
Main Usecase
- Install tools in CI/CD
- Install tools for your project's local development
- Install tools in your laptop
Feature
- Declarative YAML Configuration
- You don't have to execute commands imperatively to install tools
- Manage versions per project
- You can change tools version per project
- Install tools when they are executed
- When you execute the tool which isn't installed yet, aqua installs the tool and execute the tool
- Share tools across projects
- aqua installs tools in the shared directory
~/.aqua. It saves time and disk to install tools
- Ecosystem named
Registry - it eases to write aqua configuration
- You can share and reuse the aqua configuration. We provide the standard registry too
Install
Please download a binary from the Release Page.
Or you can install aqua quickly with aqua-installer.
e.g.
$ curl -sSfL https://raw.githubusercontent.com/suzuki-shunsuke/aqua-installer/v0.1.2/aqua-installer | bash
GitHub Actions
e.g.
- uses: suzuki-shunsuke/aqua-installer@v0.1.2
with:
version: v0.3.1
install_path: /tmp/bin/aqua
- Symbolic links are created in
$HOME/.aqua/bin, so add this to the environment variable PATH
- Tools are installed in
$HOME/.aqua/pkgs
(your working directory)/
aqua.yaml
~/.aqua/ # $AQUA_ROOT_DIR (default ~/.aqua)
bin/
aqua-proxy (symbolic link to aqua-proxy)
<tool> (symbolic link to aqua-proxy)
global/
aqua.yaml # global configuration
pkgs/
github_release/
github.com/
suzuki-shunsuke/
aqua-proxy/
v0.1.0/
aqua-proxy_darwin_amd64.tar.gz
aqua-proxy
registries/
github_content/
github.com/
suzuki-shunsuke/
aqua-registry/
v0.1.1-0/
registry.yaml
Example
Change Log
Please see Releases.
Blog
License
MIT