github.com/helmwave/helmwave@v0.36.4-0.20240509190856-b35563eba4c6/pkg/release/errors.go (about) 1 package release 2 3 import ( 4 "errors" 5 "fmt" 6 7 "github.com/helmwave/helmwave/pkg/release/uniqname" 8 "helm.sh/helm/v3/pkg/storage/driver" 9 ) 10 11 var ( 12 ErrNameEmpty = errors.New("release name is empty") 13 14 // ErrPendingRelease is an error for fail strategy that release is in pending status. 15 ErrPendingRelease = errors.New("release is in pending status") 16 17 // ErrValuesNotExist is returned when values can't be used and are skipped. 18 ErrValuesNotExist = errors.New("values file doesn't exist") 19 20 // ErrNotFound is an error for not found release. 21 ErrNotFound = driver.ErrReleaseNotFound 22 23 // ErrFoundMultiple is an error for multiple releases found by name. 24 ErrFoundMultiple = errors.New("found multiple releases o_0") 25 26 // ErrDepFailed is an error thrown when dependency release fails. 27 ErrDepFailed = errors.New("dependency failed") 28 29 ErrUnknownFormat = errors.New("unknown format") 30 31 ErrDigestNotMatch = errors.New("chart digest doesn't match") 32 ) 33 34 type DuplicateError struct { 35 Uniq uniqname.UniqName 36 } 37 38 func NewDuplicateError(uniq uniqname.UniqName) error { 39 return &DuplicateError{Uniq: uniq} 40 } 41 42 func (err DuplicateError) Error() string { 43 return fmt.Sprintf("release duplicate: %s", err.Uniq.String()) 44 } 45 46 type InvalidNamespaceError struct { 47 Namespace string 48 } 49 50 func NewInvalidNamespaceError(namespace string) error { 51 return &InvalidNamespaceError{Namespace: namespace} 52 } 53 54 func (err InvalidNamespaceError) Error() string { 55 return fmt.Sprintf("invalid namespace: %s", err.Namespace) 56 } 57 58 type YAMLDecodeDependsOnError struct { 59 Err error 60 DependsOn string 61 } 62 63 func NewYAMLDecodeDependsOnError(dependsOn string, err error) error { 64 return &YAMLDecodeDependsOnError{DependsOn: dependsOn, Err: err} 65 } 66 67 func (err YAMLDecodeDependsOnError) Error() string { 68 return fmt.Sprintf("failed to decode depends_on reference %q from YAML: %s", err.DependsOn, err.Err) 69 } 70 71 func (err YAMLDecodeDependsOnError) Unwrap() error { 72 return err.Err 73 } 74 75 type ChartCacheError struct { 76 Err error 77 } 78 79 func NewChartCacheError(err error) error { 80 return &ChartCacheError{Err: err} 81 } 82 83 func (err ChartCacheError) Error() string { 84 return fmt.Sprintf("failed to find chart in helm cache: %s", err.Err) 85 } 86 87 func (err ChartCacheError) Unwrap() error { 88 return err.Err 89 } 90 91 type HelmTestsError struct { 92 Err error 93 } 94 95 func NewHelmTestsError(err error) error { 96 return &HelmTestsError{Err: err} 97 } 98 99 func (err HelmTestsError) Error() string { 100 return fmt.Sprintf("helm tests failed: %s", err.Err) 101 } 102 103 func (err HelmTestsError) Unwrap() error { 104 return err.Err 105 }