Optimize single release getting (#373)

* Optimize single release getting

* Disable unused releases getting

* fix build

* Remove unused code completely
This commit is contained in:
Andrey Pokhilko
2023-06-23 10:18:44 +01:00
committed by GitHub
parent 14abc28c7d
commit 4e2d3186a1
2 changed files with 18 additions and 32 deletions

View File

@@ -2,7 +2,6 @@ package objects
import (
"bytes"
"fmt"
"gopkg.in/yaml.v3"
"io"
"os"
@@ -51,25 +50,26 @@ func (a *Releases) List() ([]*Release, error) {
return nil, errorx.Decorate(err, "failed to get list of releases")
}
for _, r := range rels {
releases = append(releases, &Release{HelmConfig: a.HelmConfig, Orig: r, Settings: a.Settings})
releases = append(releases, NewRelease(a.HelmConfig, r, a.Settings))
}
}
return releases, nil
}
func (a *Releases) ByName(namespace string, name string) (*Release, error) {
rels, err := a.List()
log.Debugf("Getting release by ns+name: %s/%s", namespace, name)
hc, err := a.HelmConfig(namespace)
if err != nil {
return nil, errorx.Decorate(err, "failed to get list of releases")
return nil, errorx.Decorate(err, "failed to get helm config for namespace '%s'", "")
}
for _, r := range rels {
if r.Orig.Namespace == namespace && r.Orig.Name == name {
return r, nil
}
client := action.NewGet(hc)
rel, err := client.Run(name)
if err != nil {
return nil, errorx.Decorate(err, "failed to get helm release")
}
return nil, errorx.DataUnavailable.New(fmt.Sprintf("release '%s' is not found in namespace '%s'", name, namespace))
return NewRelease(a.HelmConfig, rel, a.Settings), nil
}
func (a *Releases) Install(namespace string, name string, repoChart string, version string, justTemplate bool, values map[string]interface{}) (*release.Release, error) {
@@ -191,7 +191,7 @@ func (r *Release) History() ([]*Release, error) {
r.revisions = []*Release{}
for _, rev := range revs {
r.revisions = append(r.revisions, &Release{HelmConfig: r.HelmConfig, Orig: rev, Settings: r.Settings})
r.revisions = append(r.revisions, NewRelease(r.HelmConfig, rev, r.Settings))
}
return r.revisions, nil
@@ -399,3 +399,11 @@ func checkIfInstallable(ch *chart.Chart) error {
}
return errors.Errorf("%s charts are not installable", ch.Metadata.Type)
}
func NewRelease(hc HelmNSConfigGetter, orig *release.Release, settings *cli.EnvSettings) *Release {
return &Release{
HelmConfig: hc,
Orig: orig,
Settings: settings,
}
}