From 041f3583e776d6201bf551431d8e3fd23c89af43 Mon Sep 17 00:00:00 2001 From: Matt Butcher Date: Fri, 21 Dec 2018 12:18:20 -0700 Subject: [PATCH] feat: Add install and refactor some tests This adds install to the action package, and then fixes up a lot of testing. Signed-off-by: Matt Butcher --- pkg/action/action.go | 17 +++++++++++++---- pkg/action/install.go | 5 ++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/pkg/action/action.go b/pkg/action/action.go index 7e05ac1b2..705b49a8d 100644 --- a/pkg/action/action.go +++ b/pkg/action/action.go @@ -19,6 +19,7 @@ package action import ( "time" + "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/discovery" @@ -49,11 +50,19 @@ type Configuration struct { } // capabilities builds a Capabilities from discovery information. -func (c *Configuration) capabilities() *chartutil.Capabilities { - if c.Capabilities == nil { - return chartutil.DefaultCapabilities +func (c *Configuration) capabilities() (*chartutil.Capabilities, error) { + sv, err := c.Discovery.ServerVersion() + if err != nil { + return nil, err + } + vs, err := GetVersionSet(c.Discovery) + if err != nil { + return nil, errors.Wrap(err, "could not get apiVersions from Kubernetes") } - return c.Capabilities + return &chartutil.Capabilities{ + APIVersions: vs, + KubeVersion: sv, + }, nil } // Now generates a timestamp diff --git a/pkg/action/install.go b/pkg/action/install.go index e2ddee64a..c271bb0b5 100644 --- a/pkg/action/install.go +++ b/pkg/action/install.go @@ -79,7 +79,10 @@ func (i *Install) Run(chrt *chart.Chart, rawValues map[string]interface{}) (*rel return nil, err } - caps := i.cfg.capabilities() + caps, err := i.cfg.capabilities() + if err != nil { + return nil, err + } options := chartutil.ReleaseOptions{ Name: i.ReleaseName,