helmfile/pkg/state/release_error.go

32 lines
612 B
Go

package state
import (
"fmt"
)
const ReleaseErrorCodeFailure = 1
type ReleaseError struct {
*ReleaseSpec
err error
Code int
}
func (e *ReleaseError) Error() string {
return e.err.Error()
}
func NewReleaseError(release *ReleaseSpec, err error, code int) *ReleaseError {
return &ReleaseError{
ReleaseSpec: release,
err: err,
Code: code,
}
}
func newReleaseFailedError(release *ReleaseSpec, err error) *ReleaseError {
wrappedErr := fmt.Errorf("failed processing release %s: %v", release.Name, err.Error())
return NewReleaseError(release, wrappedErr, ReleaseErrorCodeFailure)
}