github aquaproj/aqua v2.0.0-0

latest releases: v2.37.2, v2.37.1, v2.37.0...
pre-release24 months ago

v1.25.0...v2.0.0-0

This release includes several breaking changes.
You may have to fix code to upgrade aqua to v2, but it would be easy.
Most important change is that only standard registry is allowed by default.
This breaking change makes aqua secure by default.
Other changes are not so important as the registry restriction, but these changes makes aqua simple.

⚠️ Breaking Changes

#1404 #1413 Only standard registry is allowed by default
#1410 #1413 When AQUA_CONFIG or -c option is set, aqua shouldn't search configuration files
#1409 #1413 Fix the default files[].name

Removed some features.

#1408 #1413 Remove the package type go
#1411 #1413 Remove supported_if
#1412 #1413 Replace sprig to slim-sprig

Only standard registry is allowed by default

#1404 #1413

If you don't set policies, aqua uses the default policy allowing only standard registries.
If you set policies the default policy is ignored.

Why this change is needed

This change makes aqua secure by default.
Almost users don't need registries other than standard registry.
Other registries are useful but also can be abused.

How to migrate

If you use only standard registry, you don't have to do anything.
Otherwise you have to set policies to allow registries other than standard registry.
About policies, please see the document.

https://aquaproj.github.io/docs/tutorial-extras/policy-as-code/

When AQUA_CONFIG or -c option is set, aqua shouldn't search configuration files

#1410 #1413

Why this change is needed

When we specify the configuration file path explicitly, we would like to use the configuration file and shouldn't use other configuration files.
The current behaviour is a bit confusing and causes unneeded package installation.

Fix the default files[].name

#1409 #1413

If the package has a name field, the name is split with / and the last element is used as the default file name.

For example, please see the following example.

name: cert-manager/cert-manager/cmctl
repo_owner: cert-manager
repo_name: cert-manager

Then in aqua v1 the default setting of files is the following.

files:
- name: cert-manager

On the other hand, in aqua v2 the default setting of files is the following.

files:
- name: cmctl

Why this change is needed

We think aqua v2's default setting is better than aqua v1 in many cases.

How to migrate

If you maintain registries, you might have to fix them.
And you may have to update standard registry to v4.0.0 or later.

Remove the package type go

#1408 #1413

Why this change is needed

To make aqua simple.
The package type go is left only for the compatibility.
You should use go_install instead of go package.

Remove supported_if

#1411 #1413

Why this change is needed

From aqua v1.12.0 or later, we strongly recommend supported_envs instead of supported_if. supported_envs is simpler than supported_if, and better in terms of the performance.

Replace sprig to slim-sprig

#1412 #1413

Why this change is needed

https://github.com/go-task/slim-sprig

Slim-Sprig is a fork of Sprig, but with all functions that depend on external (non standard library) or crypto packages removed. The reason for this is to make this library more lightweight. Most of these functions (specially crypto ones) are not needed on most apps, but costs a lot in terms of binary size and compilation time.

For aqua these functions are unneeded.

Don't miss a new aqua release

NewReleases is sending notifications on new releases.