mirror of
https://github.com/komodorio/helm-dashboard.git
synced 2026-03-24 11:48:04 +00:00
Optimize single release getting (#373)
* Optimize single release getting * Disable unused releases getting * fix build * Remove unused code completely
This commit is contained in:
@@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user