mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-07-22 06:50:43 -04:00
deps: replace multierr with native errors.Join
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
parent
955316c661
commit
12c866bcb9
32 changed files with 173 additions and 159 deletions
|
@ -29,7 +29,6 @@ import (
|
|||
verclient "github.com/edgelesssys/constellation/v2/internal/versionsapi/client"
|
||||
gaxv2 "github.com/googleapis/gax-go/v2"
|
||||
"github.com/spf13/cobra"
|
||||
"go.uber.org/multierr"
|
||||
"go.uber.org/zap/zapcore"
|
||||
)
|
||||
|
||||
|
@ -141,12 +140,12 @@ func deleteSingleVersion(ctx context.Context, clients rmImageClients, ver versio
|
|||
|
||||
log.Debugf("Deleting images for %s", ver.Version)
|
||||
if err := deleteImage(ctx, clients, ver, dryrun, log); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting images: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting images: %w", err))
|
||||
}
|
||||
|
||||
log.Debugf("Deleting version %s from versions API", ver.Version)
|
||||
if err := clients.version.DeleteVersion(ctx, ver); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting version from versions API: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting version from versions API: %w", err))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
@ -182,13 +181,13 @@ func deleteRef(ctx context.Context, clients rmImageClients, ref string, dryrun b
|
|||
|
||||
for _, ver := range vers {
|
||||
if err := deleteImage(ctx, clients, ver, dryrun, log); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting images for version %s: %w", ver.Version, err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting images for version %s: %w", ver.Version, err))
|
||||
}
|
||||
}
|
||||
|
||||
log.Infof("Deleting ref %s from versions API", ref)
|
||||
if err := clients.version.DeleteRef(ctx, ref); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting ref from versions API: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting ref from versions API: %w", err))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
@ -215,21 +214,21 @@ func deleteImage(ctx context.Context, clients rmImageClients, ver versionsapi.Ve
|
|||
log.Infof("Deleting AWS images from %s", imageInfo.JSONPath())
|
||||
for awsRegion, awsImage := range imageInfo.AWS {
|
||||
if err := clients.aws.deleteImage(ctx, awsImage, awsRegion, dryrun, log); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting AWS image %s: %w", awsImage, err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting AWS image %s: %w", awsImage, err))
|
||||
}
|
||||
}
|
||||
|
||||
log.Infof("Deleting GCP images from %s", imageInfo.JSONPath())
|
||||
for _, gcpImage := range imageInfo.GCP {
|
||||
if err := clients.gcp.deleteImage(ctx, gcpImage, dryrun, log); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting GCP image %s: %w", gcpImage, err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting GCP image %s: %w", gcpImage, err))
|
||||
}
|
||||
}
|
||||
|
||||
log.Infof("Deleting Azure images from %s", imageInfo.JSONPath())
|
||||
for _, azImage := range imageInfo.Azure {
|
||||
if err := clients.az.deleteImage(ctx, azImage, dryrun, log); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting Azure image %s: %w", azImage, err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting Azure image %s: %w", azImage, err))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@ import (
|
|||
"github.com/edgelesssys/constellation/v2/internal/constants"
|
||||
"github.com/edgelesssys/constellation/v2/internal/logger"
|
||||
"github.com/edgelesssys/constellation/v2/internal/versionsapi"
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
|
@ -167,17 +166,17 @@ func (c *Client) DeleteVersion(ctx context.Context, ver versionsapi.Version) err
|
|||
c.log.Debugf("Deleting version %s from minor version list", ver.Version)
|
||||
possibleNewLatest, err := c.deleteVersionFromMinorVersionList(ctx, ver)
|
||||
if err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("removing from minor version list: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("removing from minor version list: %w", err))
|
||||
}
|
||||
|
||||
c.log.Debugf("Checking latest version for %s", ver.Version)
|
||||
if err := c.deleteVersionFromLatest(ctx, ver, possibleNewLatest); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("updating latest version: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("updating latest version: %w", err))
|
||||
}
|
||||
|
||||
c.log.Debugf("Deleting artifact path %s for %s", ver.ArtifactPath(), ver.Version)
|
||||
if err := c.deletePath(ctx, ver.ArtifactPath()); err != nil {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("deleting artifact path: %w", err))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("deleting artifact path: %w", err))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
|
|
@ -13,7 +13,6 @@ import (
|
|||
"path"
|
||||
|
||||
"github.com/edgelesssys/constellation/v2/internal/constants"
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
|
@ -62,25 +61,25 @@ func (i ImageInfo) URL() (string, error) {
|
|||
func (i ImageInfo) ValidateRequest() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(i.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(i.Ref, i.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if !semver.IsValid(i.Version) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a valid semver", i.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a valid semver", i.Version))
|
||||
}
|
||||
if len(i.AWS) != 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("AWS map must be empty for request"))
|
||||
retErr = errors.Join(retErr, errors.New("AWS map must be empty for request"))
|
||||
}
|
||||
if len(i.Azure) != 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("Azure map must be empty for request"))
|
||||
retErr = errors.Join(retErr, errors.New("Azure map must be empty for request"))
|
||||
}
|
||||
if len(i.GCP) != 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("GCP map must be empty for request"))
|
||||
retErr = errors.Join(retErr, errors.New("GCP map must be empty for request"))
|
||||
}
|
||||
if len(i.QEMU) != 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("QEMU map must be empty for request"))
|
||||
retErr = errors.Join(retErr, errors.New("QEMU map must be empty for request"))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
@ -90,25 +89,25 @@ func (i ImageInfo) ValidateRequest() error {
|
|||
func (i ImageInfo) Validate() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(i.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(i.Ref, i.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if !semver.IsValid(i.Version) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a valid semver", i.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a valid semver", i.Version))
|
||||
}
|
||||
if len(i.AWS) == 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("AWS map must not be empty"))
|
||||
retErr = errors.Join(retErr, errors.New("AWS map must not be empty"))
|
||||
}
|
||||
if len(i.Azure) == 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("Azure map must not be empty"))
|
||||
retErr = errors.Join(retErr, errors.New("Azure map must not be empty"))
|
||||
}
|
||||
if len(i.GCP) == 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("GCP map must not be empty"))
|
||||
retErr = errors.Join(retErr, errors.New("GCP map must not be empty"))
|
||||
}
|
||||
if len(i.QEMU) == 0 {
|
||||
retErr = multierr.Append(retErr, errors.New("QEMU map must not be empty"))
|
||||
retErr = errors.Join(retErr, errors.New("QEMU map must not be empty"))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
|
|
@ -7,12 +7,12 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
package versionsapi
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"path"
|
||||
|
||||
"github.com/edgelesssys/constellation/v2/internal/constants"
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
|
@ -54,16 +54,16 @@ func (l Latest) URL() (string, error) {
|
|||
func (l Latest) Validate() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(l.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(l.Ref, l.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if l.Kind == VersionKindUnknown {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version of kind %q is not supported", l.Kind))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version of kind %q is not supported", l.Kind))
|
||||
}
|
||||
if !semver.IsValid(l.Version) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a valid semver", l.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a valid semver", l.Version))
|
||||
}
|
||||
|
||||
return retErr
|
||||
|
@ -73,16 +73,16 @@ func (l Latest) Validate() error {
|
|||
func (l Latest) ValidateRequest() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(l.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(l.Ref, l.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if l.Kind == VersionKindUnknown {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version of kind %q is not supported", l.Kind))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version of kind %q is not supported", l.Kind))
|
||||
}
|
||||
if l.Version != "" {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q must be empty for request", l.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q must be empty for request", l.Version))
|
||||
}
|
||||
return retErr
|
||||
}
|
||||
|
|
|
@ -7,12 +7,12 @@ SPDX-License-Identifier: AGPL-3.0-only
|
|||
package versionsapi
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
"net/url"
|
||||
"path"
|
||||
|
||||
"github.com/edgelesssys/constellation/v2/internal/constants"
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
|
@ -66,19 +66,19 @@ func (l List) URL() (string, error) {
|
|||
func (l List) ValidateRequest() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(l.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(l.Ref, l.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if l.Granularity != GranularityMajor && l.Granularity != GranularityMinor {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("granularity %q is not supported", l.Granularity))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("granularity %q is not supported", l.Granularity))
|
||||
}
|
||||
if l.Kind != VersionKindImage {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("kind %q is not supported", l.Kind))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("kind %q is not supported", l.Kind))
|
||||
}
|
||||
if !semver.IsValid(l.Base) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("base version %q is not a valid semantic version", l.Base))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("base version %q is not a valid semantic version", l.Base))
|
||||
}
|
||||
var normalizeFunc func(string) string
|
||||
switch l.Granularity {
|
||||
|
@ -90,10 +90,10 @@ func (l List) ValidateRequest() error {
|
|||
normalizeFunc = func(s string) string { return s }
|
||||
}
|
||||
if normalizeFunc(l.Base) != l.Base {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("base version %q does not match granularity %q", l.Base, l.Granularity))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("base version %q does not match granularity %q", l.Base, l.Granularity))
|
||||
}
|
||||
if len(l.Versions) != 0 {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("versions must be empty for request"))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("versions must be empty for request"))
|
||||
}
|
||||
return retErr
|
||||
}
|
||||
|
@ -109,19 +109,19 @@ func (l List) ValidateRequest() error {
|
|||
func (l List) Validate() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(l.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(l.Ref, l.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if l.Granularity != GranularityMajor && l.Granularity != GranularityMinor {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("granularity %q is not supported", l.Granularity))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("granularity %q is not supported", l.Granularity))
|
||||
}
|
||||
if l.Kind != VersionKindImage {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("kind %q is not supported", l.Kind))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("kind %q is not supported", l.Kind))
|
||||
}
|
||||
if !semver.IsValid(l.Base) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("base version %q is not a valid semantic version", l.Base))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("base version %q is not a valid semantic version", l.Base))
|
||||
}
|
||||
var normalizeFunc func(string) string
|
||||
switch l.Granularity {
|
||||
|
@ -133,14 +133,14 @@ func (l List) Validate() error {
|
|||
normalizeFunc = func(s string) string { return s }
|
||||
}
|
||||
if normalizeFunc(l.Base) != l.Base {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("base version %q does not match granularity %q", l.Base, l.Granularity))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("base version %q does not match granularity %q", l.Base, l.Granularity))
|
||||
}
|
||||
for _, ver := range l.Versions {
|
||||
if !semver.IsValid(ver) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a valid semantic version", ver))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a valid semantic version", ver))
|
||||
}
|
||||
if normalizeFunc(ver) != l.Base || normalizeFunc(ver) == ver {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not finer-grained than base version %q", ver, l.Base))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not finer-grained than base version %q", ver, l.Base))
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,6 @@ import (
|
|||
"strings"
|
||||
|
||||
"github.com/edgelesssys/constellation/v2/internal/constants"
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/mod/semver"
|
||||
)
|
||||
|
||||
|
@ -64,19 +63,19 @@ func (v Version) ShortPath() string {
|
|||
func (v Version) Validate() error {
|
||||
var retErr error
|
||||
if err := ValidateRef(v.Ref); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if err := ValidateStream(v.Ref, v.Stream); err != nil {
|
||||
retErr = multierr.Append(retErr, err)
|
||||
retErr = errors.Join(retErr, err)
|
||||
}
|
||||
if !semver.IsValid(v.Version) {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a valid semantic version", v.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a valid semantic version", v.Version))
|
||||
}
|
||||
if semver.Canonical(v.Version) != v.Version {
|
||||
retErr = multierr.Append(retErr, fmt.Errorf("version %q is not a canonical semantic version", v.Version))
|
||||
retErr = errors.Join(retErr, fmt.Errorf("version %q is not a canonical semantic version", v.Version))
|
||||
}
|
||||
if v.Kind == VersionKindUnknown {
|
||||
retErr = multierr.Append(retErr, errors.New("version kind is unknown"))
|
||||
retErr = errors.Join(retErr, errors.New("version kind is unknown"))
|
||||
}
|
||||
return retErr
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue