Use `NewCapabilities()` func instead of global `DefaultCapabilities`

Signed-off-by: Wahab Ali <wahabalimk@gmail.com>
pull/9320/head
Wahab Ali 5 years ago
parent 46d80f68c1
commit fc26234666

@ -111,7 +111,7 @@ func executeActionCommandStdinC(store *storage.Storage, in *os.File, cmd string)
actionConfig := &action.Configuration{ actionConfig := &action.Configuration{
Releases: store, Releases: store,
KubeClient: &kubefake.PrintingKubeClient{Out: ioutil.Discard}, KubeClient: &kubefake.PrintingKubeClient{Out: ioutil.Discard},
Capabilities: chartutil.DefaultCapabilities, Capabilities: chartutil.NewCapabilities(),
Log: func(format string, v ...interface{}) {}, Log: func(format string, v ...interface{}) {},
} }

@ -83,7 +83,7 @@ func actionConfigFixture(t *testing.T) *Configuration {
return &Configuration{ return &Configuration{
Releases: storage.Init(driver.NewMemory()), Releases: storage.Init(driver.NewMemory()),
KubeClient: &kubefake.FailingKubeClient{PrintingKubeClient: kubefake.PrintingKubeClient{Out: ioutil.Discard}}, KubeClient: &kubefake.FailingKubeClient{PrintingKubeClient: kubefake.PrintingKubeClient{Out: ioutil.Discard}},
Capabilities: chartutil.DefaultCapabilities, Capabilities: chartutil.NewCapabilities(),
RegistryClient: registryClient, RegistryClient: registryClient,
Log: func(format string, v ...interface{}) { Log: func(format string, v ...interface{}) {
t.Helper() t.Helper()

@ -196,7 +196,7 @@ func (i *Install) Run(chrt *chart.Chart, vals map[string]interface{}) (*release.
if i.ClientOnly { if i.ClientOnly {
// Add mock objects in here so it doesn't use Kube API server // Add mock objects in here so it doesn't use Kube API server
// NOTE(bacongobbler): used for `helm template` // NOTE(bacongobbler): used for `helm template`
i.cfg.Capabilities = chartutil.DefaultCapabilities i.cfg.Capabilities = chartutil.NewCapabilities()
i.cfg.Capabilities.APIVersions = append(i.cfg.Capabilities.APIVersions, i.APIVersions...) i.cfg.Capabilities.APIVersions = append(i.cfg.Capabilities.APIVersions, i.APIVersions...)
i.cfg.KubeClient = &kubefake.PrintingKubeClient{Out: ioutil.Discard} i.cfg.KubeClient = &kubefake.PrintingKubeClient{Out: ioutil.Discard}

@ -118,7 +118,7 @@ func TestInstallReleaseClientOnly(t *testing.T) {
instAction.ClientOnly = true instAction.ClientOnly = true
instAction.Run(buildChart(), nil) // disregard output instAction.Run(buildChart(), nil) // disregard output
is.Equal(instAction.cfg.Capabilities, chartutil.DefaultCapabilities) is.Equal(instAction.cfg.Capabilities, chartutil.NewCapabilities())
is.Equal(instAction.cfg.KubeClient, &kubefake.PrintingKubeClient{Out: ioutil.Discard}) is.Equal(instAction.cfg.KubeClient, &kubefake.PrintingKubeClient{Out: ioutil.Discard})
} }

@ -35,17 +35,6 @@ const (
var ( var (
// DefaultVersionSet is the default version set, which includes only Core V1 ("v1"). // DefaultVersionSet is the default version set, which includes only Core V1 ("v1").
DefaultVersionSet = allKnownVersions() DefaultVersionSet = allKnownVersions()
// DefaultCapabilities is the default set of capabilities.
DefaultCapabilities = &Capabilities{
KubeVersion: KubeVersion{
Version: fmt.Sprintf("v%d.%d.0", k8sVersionMajor, k8sVersionMinor),
Major: strconv.Itoa(k8sVersionMajor),
Minor: strconv.Itoa(k8sVersionMinor),
},
APIVersions: DefaultVersionSet,
HelmVersion: helmversion.Get(),
}
) )
// Capabilities describes the capabilities of the Kubernetes cluster. // Capabilities describes the capabilities of the Kubernetes cluster.
@ -58,6 +47,19 @@ type Capabilities struct {
HelmVersion helmversion.BuildInfo HelmVersion helmversion.BuildInfo
} }
// NewCapabilities returns the default set of capabilities.
func NewCapabilities() *Capabilities {
return &Capabilities{
KubeVersion: KubeVersion{
Version: fmt.Sprintf("v%d.%d.0", k8sVersionMajor, k8sVersionMinor),
Major: strconv.Itoa(k8sVersionMajor),
Minor: strconv.Itoa(k8sVersionMinor),
},
APIVersions: DefaultVersionSet,
HelmVersion: helmversion.Get(),
}
}
// KubeVersion is the Kubernetes version. // KubeVersion is the Kubernetes version.
type KubeVersion struct { type KubeVersion struct {
Version string // Kubernetes version Version string // Kubernetes version

@ -41,7 +41,7 @@ func TestDefaultVersionSet(t *testing.T) {
} }
func TestDefaultCapabilities(t *testing.T) { func TestDefaultCapabilities(t *testing.T) {
kv := DefaultCapabilities.KubeVersion kv := NewCapabilities().KubeVersion
if kv.String() != "v1.20.0" { if kv.String() != "v1.20.0" {
t.Errorf("Expected default KubeVersion.String() to be v1.20.0, got %q", kv.String()) t.Errorf("Expected default KubeVersion.String() to be v1.20.0, got %q", kv.String())
} }
@ -60,8 +60,7 @@ func TestDefaultCapabilities(t *testing.T) {
} }
func TestDefaultCapabilitiesHelmVersion(t *testing.T) { func TestDefaultCapabilitiesHelmVersion(t *testing.T) {
hv := DefaultCapabilities.HelmVersion hv := NewCapabilities().HelmVersion
if hv.Version != "v3.5" { if hv.Version != "v3.5" {
t.Errorf("Expected default HelmVersion to be v3.5, got %q", hv.Version) t.Errorf("Expected default HelmVersion to be v3.5, got %q", hv.Version)
} }

@ -136,7 +136,7 @@ type ReleaseOptions struct {
// This takes both ReleaseOptions and Capabilities to merge into the render values. // This takes both ReleaseOptions and Capabilities to merge into the render values.
func ToRenderValues(chrt *chart.Chart, chrtVals map[string]interface{}, options ReleaseOptions, caps *Capabilities) (Values, error) { func ToRenderValues(chrt *chart.Chart, chrtVals map[string]interface{}, options ReleaseOptions, caps *Capabilities) (Values, error) {
if caps == nil { if caps == nil {
caps = DefaultCapabilities caps = NewCapabilities()
} }
top := map[string]interface{}{ top := map[string]interface{}{
"Chart": chrt.Metadata, "Chart": chrt.Metadata,

Loading…
Cancel
Save