Configuration
e.g.
registries:
- type: standard
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
packages:
- name: helm/helm@v3.7.0
- name: golangci/golangci-lint@v1.42.1
- import: aqua/*.yaml
Configuration File Path
aqua searches the following configuration files.
--config (-c)
option (environment variableAQUA_CONFIG
\.?aqua\.ya?ml
or\.?aqua/aqua\.ya?ml
from the current directory to the root directory. If configuration files are found in the multiple directories, aqua read all of them- global configuration: environment variable
AQUA_GLOBAL_CONFIG
To install tools in global configuration files, you have to set -a
to aqua install
command.
Environment variables
AQUA_LOG_LEVEL
: (default:info
) Log levelAQUA_CONFIG
: configuration file path- AQUA_GLOBAL_CONFIG: global configuration file paths separated by semicolon
:
AQUA_POLICY_CONFIG
: policy file paths separated by semicolon:
AQUA_DISABLE_COSIGN
:aqua >= v2.22.0
If true, the verification with Cosign is disabledAQUA_DISABLE_SLSA
:aqua >= v2.22.0
If true, the verification with SLSA Provenance is disabledAQUA_DISABLE_GITHUB_ARTIFACT_ATTESTATION
:aqua >= v2.35.0
If true, the verification using GitHub Artifact Attestations is disabledAQUA_DISABLE_POLICY
: If true, Policy is disabled (aqua >= v2.1.0)AQUA_DISABLE_LAZY_INSTALL
: If true, Lazy Install is disabled (aqua >= v2.9.0)AQUA_ROOT_DIR
: The directory path where aqua install tools- default (linux and macOS):
${XDG_DATA_HOME:-$HOME/.local/share}/aquaproj-aqua
- default (windows):
${HOME/AppData/Local}/aquaproj-aqua
- default (linux and macOS):
AQUA_MAX_PARALLELISM
: (default:5
) The maximum number of packages which are installed in parallel at the same timeAQUA_GITHUB_TOKEN
,GITHUB_TOKEN
: GitHub Access Token. This is required to install private repository's package- AQUA_LOG_COLOR: Log color setting (
always|auto|never
) - AQUA_PROGRESS_BAR: The progress bar is disabled by default, but you can enable it by setting the environment variable
AQUA_PROGRESS_BAR
totrue
- AQUA_GOOS, AQUA_GOARCH
- AQUA_X_SYS_EXEC
- (Deprecated) AQUA_EXPERIMENTAL_X_SYS_EXEC
AQUA_GENERATE_WITH_DETAIL
: (boolean, default:false
) If true, aqua outputs additional information such as description and link #2027 #2062 (aqua >= v2.9.0)
$ env AQUA_GENERATE_WITH_DETAIL=true aqua g cli/cli
- name: cli/cli@v2.2.0
description: GitHub’s official command line tool
link: https://github.com/cli/cli
AQUA_REMOVE_MODE
:aqua remove
command's-mode
option
JSON Schema
- https://github.com/aquaproj/aqua/tree/main/json-schema
- https://github.com/aquaproj/aqua/blob/main/json-schema/aqua-yaml.json
- https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/aqua-yaml.json
Configuration attributes
- registries: The list of registries
- packages: The list of installed packages
- checksum: configuration for checksum verification
inline_registry
was removed from aqua >= v0.9.0
. Please use local registry.
registries
e.g.
registries:
- type: standard
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
Registry types
- standard: aqua's Standard Registry
- local: local file
- github_content: Get the registry by GitHub Repository Content API
standard
registry
e.g.
registries:
- type: standard
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
ref
: the Registry Version. Please check Releases
This is equivalent to the following definition.
registries:
- name: standard
type: github_content
repo_owner: aquaproj
repo_name: aqua-registry
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
path: registry.yaml
You can also specify a commit hash as ref
.
registries:
- type: standard
ref: 0d1572334a460e5a74f2a6455e510d8a4d6c8e93
Don't specify a branch name as ref
, because aqua treats the ref as immutable.
registries:
- type: standard
ref: main # Specify a tag or commit hash
local
registry
e.g.
registries:
- name: local
type: local
path: registry.yaml
- name: home
type: local
path: $HOME/aqua-registry.yaml
name
: Registry namepath
: The file path. Either absolute path or relative path fromaqua.yaml
. Ifpath
starts with$HOME
+OS specific path separator such as '/'
, it's replaced with the home directory path
Please see Configuration (registry.yaml).
github_content
registry
e.g.
registries:
- name: foo
type: github_content
repo_owner: aquaproj
repo_name: aqua-registry
ref: v4.155.1 # renovate: depName=aquaproj/aqua-registry
path: registry.yaml
name
: Registry Namerepo_owner
: Repository Owner namerepo_name
: Repository nameref
: Repository tag or commit hash. Don't specify a branch name asref
, because aqua treats the ref as immutablepath
: file path from the repository root directory
packages
e.g.
packages:
- name: helm/helm
version: v3.7.0 # renovate: depName=helm/helm
- name: golangci/golangci-lint@v1.42.1
registry: standard
name
: (string, optional) package name. Ifimport
isn't set, this is required- format:
<package name>[@<package version>]
- format:
registry
: (string, optional) registry name- default value is
standard
- default value is
version
: (string, optional) package versiongo_version_file
: (string, optional)aqua >= v2.28.0
#2632 A file path to go.mod or go.work. This field is used to get the version of go from go directive in go.mod or go.workversion_expr
: (string, optional)aqua >= v2.40.0
Please see here for detailsversion_expr_prefix
: (string, optional)aqua >= v2.40.0
Please see here for detailsimport
: (string, optional) glob pattern of package files. This is relative path from the configuration file. This is parsed with filepath.Glob. Please see Split the list of packages too.- tags: Filter installed packages. Please see Filter packages with tags
update
: The setting foraqua update
commandupdate.enabled
: If this is false,aqua update
command ignores the package. If the package name is passed to aqua up command explicitly, enabled is ignored. By default, enabled is true.
vars
: (map of string) v2.31.0 #3052. Please see herecommand_aliases
: (array of objects, optional) v2.37.0 #3224: Aliases of commands. Please see here
The following two configuration is equivalent.
- name: golangci/golangci-lint@v1.42.1
registry: standard
- name: golangci/golangci-lint
registry: standard
version: v1.42.1
When you want to update the package with Renovate, the first style is better because you don't have to write code comments for Renovate's Regex Manager.
- name: golangci/golangci-lint
registry: standard
version: v1.43.0 # renovate: depName=golangci/golangci-lint
If the package name in the code comment is wrong, the package version is changed wrongly.
- name: golangci/golangci-lint
registry: standard
# depName is wrong!
version: v1.42.1 # renovate: depName=helm/helm
On the other hand, you can prevent such a miss configuration by the first style.