k9s/internal/dao/chart.go

125 lines
2.8 KiB
Go

package dao
// BOZO!! v1.18.0
// import (
// "context"
// "fmt"
// "os"
// "github.com/derailed/k9s/internal/client"
// "github.com/derailed/k9s/internal/render"
// "github.com/rs/zerolog/log"
// "helm.sh/helm/v3/pkg/action"
// "k8s.io/apimachinery/pkg/runtime"
// )
// var (
// _ Accessor = (*Chart)(nil)
// _ Nuker = (*Chart)(nil)
// _ Describer = (*Chart)(nil)
// )
// // Chart represents a helm chart.
// type Chart struct {
// NonResource
// }
// // List returns a collection of resources.
// func (c *Chart) List(ctx context.Context, ns string) ([]runtime.Object, error) {
// cfg, err := c.EnsureHelmConfig(ns)
// if err != nil {
// return nil, err
// }
// rr, err := action.NewList(cfg).Run()
// if err != nil {
// return nil, err
// }
// oo := make([]runtime.Object, 0, len(rr))
// for _, r := range rr {
// oo = append(oo, render.ChartRes{Release: r})
// }
// return oo, nil
// }
// // Get returns a resource.
// func (c *Chart) Get(_ context.Context, path string) (runtime.Object, error) {
// ns, n := client.Namespaced(path)
// cfg, err := c.EnsureHelmConfig(ns)
// if err != nil {
// return nil, err
// }
// resp, err := action.NewGet(cfg).Run(n)
// if err != nil {
// return nil, err
// }
// return render.ChartRes{Release: resp}, nil
// }
// // Describe returns the chart notes.
// func (c *Chart) Describe(path string) (string, error) {
// ns, n := client.Namespaced(path)
// cfg, err := c.EnsureHelmConfig(ns)
// if err != nil {
// return "", err
// }
// resp, err := action.NewGet(cfg).Run(n)
// if err != nil {
// return "", err
// }
// return resp.Info.Notes, nil
// }
// // ToYAML returns the chart manifest.
// func (c *Chart) ToYAML(path string) (string, error) {
// ns, n := client.Namespaced(path)
// cfg, err := c.EnsureHelmConfig(ns)
// if err != nil {
// return "", err
// }
// resp, err := action.NewGet(cfg).Run(n)
// if err != nil {
// return "", err
// }
// return resp.Manifest, nil
// }
// // Delete uninstall a Chart.
// func (c *Chart) Delete(path string, cascade, force bool) error {
// ns, n := client.Namespaced(path)
// cfg, err := c.EnsureHelmConfig(ns)
// if err != nil {
// return err
// }
// res, err := action.NewUninstall(cfg).Run(n)
// if err != nil {
// return err
// }
// if res != nil && res.Info != "" {
// return fmt.Errorf("%s", res.Info)
// }
// return nil
// }
// // EnsureHelmConfig return a new configuration.
// func (c *Chart) EnsureHelmConfig(ns string) (*action.Configuration, error) {
// cfg := new(action.Configuration)
// flags := c.Client().Config().Flags()
// if err := cfg.Init(flags, ns, os.Getenv("HELM_DRIVER"), helmLogger); err != nil {
// return nil, err
// }
// return cfg, nil
// }
// func helmLogger(s string, args ...interface{}) {
// log.Debug().Msgf("%s %v", s, args)
// }