@@ -14,6 +14,7 @@ import (
14
14
"github.com/appscode/stash/pkg/controller"
15
15
"github.com/appscode/stash/pkg/docker"
16
16
"github.com/appscode/stash/pkg/migrator"
17
+ "github.com/hashicorp/go-version"
17
18
"github.com/prometheus/client_golang/prometheus/promhttp"
18
19
"github.com/spf13/cobra"
19
20
crd_cs "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1beta1"
@@ -52,13 +53,16 @@ func NewCmdRun() *cobra.Command {
52
53
crdClient := crd_cs .NewForConfigOrDie (config )
53
54
54
55
// get kube api server version
55
- version , err := kubeClient .Discovery ().ServerVersion ()
56
+ info , err := kubeClient .Discovery ().ServerVersion ()
56
57
if err != nil {
57
58
log .Fatalf ("Error getting server version, reason: %s\n " , err )
58
59
}
59
-
60
+ gv , err := version .NewVersion (info .GitVersion )
61
+ if err != nil {
62
+ log .Fatalf ("Failed to parse server version, reason: %s\n " , err )
63
+ }
60
64
// check kubectl image
61
- opts .KubectlImageTag = version . Major + "." + version . Minor + ".0"
65
+ opts .KubectlImageTag = gv . ToMutator (). ResetMetadata (). ResetPrerelease (). ResetPatch (). String ()
62
66
if err := docker .CheckDockerImageVersion (docker .ImageKubectl , opts .KubectlImageTag ); err != nil {
63
67
log .Fatalf (`Image %v:%v not found.` , docker .ImageKubectl , opts .KubectlImageTag )
64
68
}
0 commit comments