Registry Configuration
e.g. registry.yaml
packages:
# init: a
- type: github_release
repo_owner: accurics
repo_name: terrascan
asset: 'terrascan_{{trimV .Version}}_{{title .OS}}_{{.Arch}}.tar.gz'
link: https://docs.accurics.com/projects/accurics-terrascan/en/latest/
description: Detect compliance and security violations across Infrastructure as Code to mitigate risk before provisioning cloud native infrastructure
replacements:
amd64: x86_64
packages: The list of packages
JSON Schema
- https://github.com/aquaproj/aqua/tree/main/json-schema
- https://github.com/aquaproj/aqua/blob/main/json-schema/registry.json
- https://raw.githubusercontent.com/aquaproj/aqua/main/json-schema/registry.json
Package types
- cargo: The package is installed by cargo install command.
aqua >= v2.8.0 - forgejo_release: The package is downloaded from the releases of a repository on a Forgejo instance, such as Codeberg.
aqua >= v2.65.0 - gitea_release: The package is downloaded from the releases of a repository on a Gitea instance, such as gitea.com.
aqua >= v2.65.0 - github_archive: The package is downloaded from GitHub Archive
- github_content: The package is downloaded from GitHub Content
- github_release: The package is downloaded from GitHub Releases
- gitlab_release: The package is downloaded from the releases of a project on a GitLab instance, such as gitlab.com.
aqua >= v2.65.0 - go_build: The package is installed by
go buildcommand.aqua >= v2.11.0 - go_install: The package is installed by
go installcommand.aqua >= v1.10.0 - http: The package is downloaded from the specified URL
Common attributes
type: (string, required) the package typename: (string) the package name. This is used to specify the package inaqua.yaml. name must be unique in the same registry- search_words
- aliases: Aliases of the package
- files: The list of executable files
- format
- append_ext
link: URL about the package. This is used foraqua gdescription: The description about the package. This is used foraqua g- replacements: A map which is used to replace some Template Variables like
OSandArch - format_overrides: A list of the pair OS and the asset format
- overrides
- version_constraint: expr's expression. The evaluation result must be a boolean
- version_overrides
- supported_if
- supported_envs
- rosetta2
- windows_arm_emulation
- version_filter
- version_source
- go_version_path
- complete_windows_ext
- checksum
- cosign
- slsa_provenance
- minisign
- packslip
- github_artifact_attestations
- github_immutable_release
- private
- no_asset
- error_message
- vars
Default values if repo_owner and repo_name are set
name:<repo owner>/<repo name>link:https://github.com/<repo owner>/<repo name>files:[{"name":"<repo name>"}]
For example, in case of weaveworks/eksctl the following default values are set.
name: weaveworks/eksctl
link: https://github.com/weaveworks/eksctl
files:
- name: eksctl
A forgejo_release, gitea_release or gitlab_release package is on an instance of its own, which is part of both defaults, because the same owner and name on another host are another package:
name:<host>/<repo owner>/<repo name>link:https://<host>/<repo owner>/<repo name>
A gitlab_release package that says no host is on gitlab.com, so its defaults are that host's.
For example, in case of codeberg.org and mergiraf/mergiraf:
name: codeberg.org/mergiraf/mergiraf
link: https://codeberg.org/mergiraf/mergiraf
files:
- name: mergiraf