replace as many github error deps as possible from pkg/downloader

Signed-off-by: James Sheppard <jgsheppa@protonmail.com>
pull/12063/head
James Sheppard 2 years ago
parent 2baeac3d95
commit 7fdd78e370

@ -16,6 +16,7 @@ limitations under the License.
package downloader package downloader
import ( import (
"errors"
"fmt" "fmt"
"io" "io"
"net/url" "net/url"
@ -24,7 +25,7 @@ import (
"strings" "strings"
"github.com/Masterminds/semver/v3" "github.com/Masterminds/semver/v3"
"github.com/pkg/errors" githubErrors "github.com/pkg/errors"
"helm.sh/helm/v3/internal/fileutil" "helm.sh/helm/v3/internal/fileutil"
"helm.sh/helm/v3/internal/urlutil" "helm.sh/helm/v3/internal/urlutil"
@ -281,12 +282,12 @@ func (c *ChartDownloader) ResolveChartVersion(ref, version string) (*url.URL, er
idxFile := filepath.Join(c.RepositoryCache, helmpath.CacheIndexFile(r.Config.Name)) idxFile := filepath.Join(c.RepositoryCache, helmpath.CacheIndexFile(r.Config.Name))
i, err := repo.LoadIndexFile(idxFile) i, err := repo.LoadIndexFile(idxFile)
if err != nil { if err != nil {
return u, errors.Wrap(err, "no cached repo found. (try 'helm repo update')") return u, githubErrors.Wrap(err, "no cached repo found. (try 'helm repo update')")
} }
cv, err := i.Get(chartName, version) cv, err := i.Get(chartName, version)
if err != nil { if err != nil {
return u, errors.Wrapf(err, "chart %q matching %s not found in %s index. (try 'helm repo update')", chartName, version, r.Config.Name) return u, githubErrors.Wrapf(err, "chart %q matching %s not found in %s index. (try 'helm repo update')", chartName, version, r.Config.Name)
} }
if len(cv.URLs) == 0 { if len(cv.URLs) == 0 {
@ -320,12 +321,12 @@ func VerifyChart(path, keyring string) (*provenance.Verification, error) {
provfile := path + ".prov" provfile := path + ".prov"
if _, err := os.Stat(provfile); err != nil { if _, err := os.Stat(provfile); err != nil {
return nil, errors.Wrapf(err, "could not load provenance file %s", provfile) return nil, githubErrors.Wrapf(err, "could not load provenance file %s", provfile)
} }
sig, err := provenance.NewFromKeyring(keyring, "") sig, err := provenance.NewFromKeyring(keyring, "")
if err != nil { if err != nil {
return nil, errors.Wrap(err, "failed to load keyring") return nil, githubErrors.Wrap(err, "failed to load keyring")
} }
return sig.Verify(path, provfile) return sig.Verify(path, provfile)
} }
@ -380,7 +381,7 @@ func (c *ChartDownloader) scanReposForURL(u string, rf *repo.File) (*repo.Entry,
idxFile := filepath.Join(c.RepositoryCache, helmpath.CacheIndexFile(r.Config.Name)) idxFile := filepath.Join(c.RepositoryCache, helmpath.CacheIndexFile(r.Config.Name))
i, err := repo.LoadIndexFile(idxFile) i, err := repo.LoadIndexFile(idxFile)
if err != nil { if err != nil {
return nil, errors.Wrap(err, "no cached repo found. (try 'helm repo update')") return nil, githubErrors.Wrap(err, "no cached repo found. (try 'helm repo update')")
} }
for _, entry := range i.Entries { for _, entry := range i.Entries {
@ -399,7 +400,7 @@ func (c *ChartDownloader) scanReposForURL(u string, rf *repo.File) (*repo.Entry,
func loadRepoConfig(file string) (*repo.File, error) { func loadRepoConfig(file string) (*repo.File, error) {
r, err := repo.LoadFile(file) r, err := repo.LoadFile(file)
if err != nil && !os.IsNotExist(errors.Cause(err)) { if err != nil && !os.IsNotExist(err) {
return nil, err return nil, err
} }
return r, nil return r, nil

@ -28,9 +28,10 @@ import (
"regexp" "regexp"
"strings" "strings"
"sync" "sync"
"errors"
"github.com/Masterminds/semver/v3" "github.com/Masterminds/semver/v3"
"github.com/pkg/errors" githubErrors "github.com/pkg/errors"
"sigs.k8s.io/yaml" "sigs.k8s.io/yaml"
"helm.sh/helm/v3/internal/resolver" "helm.sh/helm/v3/internal/resolver"
@ -220,7 +221,7 @@ func (m *Manager) Update() error {
func (m *Manager) loadChartDir() (*chart.Chart, error) { func (m *Manager) loadChartDir() (*chart.Chart, error) {
if fi, err := os.Stat(m.ChartPath); err != nil { if fi, err := os.Stat(m.ChartPath); err != nil {
return nil, errors.Wrapf(err, "could not find %s", m.ChartPath) return nil, githubErrors.Wrapf(err, "could not find %s", m.ChartPath)
} else if !fi.IsDir() { } else if !fi.IsDir() {
return nil, errors.New("only unpacked charts can be updated") return nil, errors.New("only unpacked charts can be updated")
} }
@ -314,7 +315,7 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error {
// https://github.com/helm/helm/issues/1439 // https://github.com/helm/helm/issues/1439
churl, username, password, insecureskiptlsverify, passcredentialsall, caFile, certFile, keyFile, err := m.findChartURL(dep.Name, dep.Version, dep.Repository, repos) churl, username, password, insecureskiptlsverify, passcredentialsall, caFile, certFile, keyFile, err := m.findChartURL(dep.Name, dep.Version, dep.Repository, repos)
if err != nil { if err != nil {
saveError = errors.Wrapf(err, "could not find %s", churl) saveError = githubErrors.Wrapf(err, "could not find %s", churl)
break break
} }
@ -345,7 +346,7 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error {
if registry.IsOCI(churl) { if registry.IsOCI(churl) {
churl, version, err = parseOCIRef(churl) churl, version, err = parseOCIRef(churl)
if err != nil { if err != nil {
return errors.Wrapf(err, "could not parse OCI reference") return githubErrors.Wrapf(err, "could not parse OCI reference")
} }
dl.Options = append(dl.Options, dl.Options = append(dl.Options,
getter.WithRegistryClient(m.RegistryClient), getter.WithRegistryClient(m.RegistryClient),
@ -353,7 +354,7 @@ func (m *Manager) downloadAll(deps []*chart.Dependency) error {
} }
if _, _, err = dl.DownloadTo(churl, version, tmpPath); err != nil { if _, _, err = dl.DownloadTo(churl, version, tmpPath); err != nil {
saveError = errors.Wrapf(err, "could not download %s", churl) saveError = githubErrors.Wrapf(err, "could not download %s", churl)
break break
} }
@ -794,7 +795,7 @@ func normalizeURL(baseURL, urlOrPath string) (string, error) {
} }
u2, err := url.Parse(baseURL) u2, err := url.Parse(baseURL)
if err != nil { if err != nil {
return urlOrPath, errors.Wrap(err, "base URL failed to parse") return urlOrPath, githubErrors.Wrap(err, "base URL failed to parse")
} }
u2.RawPath = path.Join(u2.RawPath, urlOrPath) u2.RawPath = path.Join(u2.RawPath, urlOrPath)
@ -812,7 +813,7 @@ func (m *Manager) loadChartRepositories() (map[string]*repo.ChartRepository, err
// Load repositories.yaml file // Load repositories.yaml file
rf, err := loadRepoConfig(m.RepositoryConfig) rf, err := loadRepoConfig(m.RepositoryConfig)
if err != nil { if err != nil {
return indices, errors.Wrapf(err, "failed to load %s", m.RepositoryConfig) return indices, githubErrors.Wrapf(err, "failed to load %s", m.RepositoryConfig)
} }
for _, re := range rf.Repositories { for _, re := range rf.Repositories {
@ -865,7 +866,7 @@ func tarFromLocalDir(chartpath, name, repo, version, destPath string) (string, e
constraint, err := semver.NewConstraint(version) constraint, err := semver.NewConstraint(version)
if err != nil { if err != nil {
return "", errors.Wrapf(err, "dependency %s has an invalid version/constraint format", name) return "", githubErrors.Wrapf(err, "dependency %s has an invalid version/constraint format", name)
} }
v, err := semver.NewVersion(ch.Metadata.Version) v, err := semver.NewVersion(ch.Metadata.Version)

Loading…
Cancel
Save