Overview
The introduction of the tool aqua
- What's aqua?
- Quick Start
- Why is aqua needed?
- Feature
What's aqua?
- CLI tool to install CLI tool with YAML configuration
- OSS: https://github.com/aquaproj/aqua
- Written in Go
Main Usecases
- Install tools for a specific repository (CI and local development)
- Install tools for your organization and team
- Install tools for your laptops (like dotfiles)
Quick Start
# For Linux
# $ curl -sSfL \
# https://raw.githubusercontent.com/aquaproj/aqua-installer/v0.3.0/aqua-installer |
# bash
$ brew install aquaproj/aqua/aqua
$ export PATH=~/.aqua/bin:$PATH
$ vi aqua.yaml
$ aqua i -l
aqua.yaml
registries:
- type: standard
ref: v0.10.10 # renovate: depName=aquaproj/aqua-registry
packages:
- name: direnv/direnv@v2.28.0
- name: junegunn/fzf@0.27.2
GitHub Actions and CircleCI Orb
- GitHub Actions
- CircleCI Orb
Why is aqua needed?
- Install tools easily with unified way
- Solve the problem due to the difference of tool version
- Coexist different versions and fork versions in a laptop
Feature
- Simple Configuration
- Lazy Install
- Renovate Friendly
Simple Configuration
aqua.yaml
registries:
- type: standard
ref: v0.10.10 # renovate: depName=aquaproj/aqua-registry
packages:
- name: direnv/direnv@v2.28.0
- name: junegunn/fzf@0.27.2
Lazy Install
$ direnv version
2.28.0
# change direnv version
$ sed -i "s/direnv@v2.28.0/direnv@v2.27.0/" aqua.yaml
# direnv v2.27.0 is installed automatically
$ direnv version
INFO[0000] download and unarchive the package aqua_version=0.7.16 package_name=direnv/direnv package_version=v2.27.0 program=aqua registry=standard
2.27.0
Renovate Friendly
You can update package versions with Renovate.
{
"extends": [
"github>aquaproj/aqua-renovate-config",
"github>aquaproj/aqua-renovate-config:file(aqua/.*\\.ya?ml)"
]
}
Additional Feature
- Registry
- Standard Registry: Let's add your favorite tools
- Save installation time and disk by sharing tools across projects
- Fuzzy Search of packages by command
aqua g
- Read configuration files recursively
- Split
packages
configuration to multiple files
Please see the document.
Uninstall aqua
You can install and uninstall aqua easily, so let's try aqua feel free.
Remove aqua and ~/.aqua
.
# For Linux
# $ rm /usr/local/bin/aqua
$ brew uninstall aqua
$ rm -R ~/.aqua