Skip to content

Commit

Permalink
helm template: display the default value of --kube-version in help me…
Browse files Browse the repository at this point in the history
…ssage

This commit improves to display the default value of --kube-version in
help message of `helm template` command.

```
--kube-version string    kubernetes version used as Capabilities.KubeVersion.Major/Minor (default "1.9")
```
  • Loading branch information
superbrothers committed Jan 19, 2018
1 parent 512a887 commit 7b5a837
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 13 deletions.
26 changes: 15 additions & 11 deletions cmd/helm/template.go
Expand Up @@ -42,7 +42,12 @@ import (

const defaultDirectoryPermission = 0755

var whitespaceRegex = regexp.MustCompile(`^\s*$`)
var (
whitespaceRegex = regexp.MustCompile(`^\s*$`)

// defaultKubeVersion is the default value of --kube-version flag
defaultKubeVersion = fmt.Sprintf("%s.%s", chartutil.DefaultKubeVersion.Major, chartutil.DefaultKubeVersion.Minor)
)

const templateDesc = `
Render chart templates locally and display the output.
Expand Down Expand Up @@ -92,7 +97,7 @@ func newTemplateCmd(out io.Writer) *cobra.Command {
f.StringVar(&t.namespace, "namespace", "", "namespace to install the release into")
f.StringArrayVar(&t.values, "set", []string{}, "set values on the command line (can specify multiple or separate values with commas: key1=val1,key2=val2)")
f.StringVar(&t.nameTemplate, "name-template", "", "specify template used to name the release")
f.StringVar(&t.kubeVersion, "kube-version", "", "override the Kubernetes version used as Capabilities.KubeVersion.Major/Minor (e.g. 1.7)")
f.StringVar(&t.kubeVersion, "kube-version", defaultKubeVersion, "kubernetes version used as Capabilities.KubeVersion.Major/Minor")
f.StringVar(&t.outputDir, "output-dir", "", "writes the executed templates to files in output-dir instead of stdout")

return cmd
Expand Down Expand Up @@ -194,17 +199,16 @@ func (t *templateCmd) run(cmd *cobra.Command, args []string) error {
KubeVersion: chartutil.DefaultKubeVersion,
TillerVersion: tversion.GetVersionProto(),
}
// If --kube-versionis set, try to parse it as SemVer, and override the

// kubernetes version
if t.kubeVersion != "" {
kv, err := semver.NewVersion(t.kubeVersion)
if err != nil {
return fmt.Errorf("could not parse a kubernetes version: %v", err)
}
caps.KubeVersion.Major = fmt.Sprint(kv.Major())
caps.KubeVersion.Minor = fmt.Sprint(kv.Minor())
caps.KubeVersion.GitVersion = fmt.Sprintf("v%d.%d.0", kv.Major(), kv.Minor())
kv, err := semver.NewVersion(t.kubeVersion)
if err != nil {
return fmt.Errorf("could not parse a kubernetes version: %v", err)
}
caps.KubeVersion.Major = fmt.Sprint(kv.Major())
caps.KubeVersion.Minor = fmt.Sprint(kv.Minor())
caps.KubeVersion.GitVersion = fmt.Sprintf("v%d.%d.0", kv.Major(), kv.Minor())

vals, err := chartutil.ToRenderValuesCaps(c, config, options, caps)
if err != nil {
return err
Expand Down
4 changes: 2 additions & 2 deletions docs/helm/helm_template.md
Expand Up @@ -26,7 +26,7 @@ helm template [flags] CHART

```
-x, --execute stringArray only execute the given templates
--kube-version string override the Kubernetes version used as Capabilities.KubeVersion.Major/Minor (e.g. 1.7)
--kube-version string kubernetes version used as Capabilities.KubeVersion.Major/Minor (default "1.9")
-n, --name string release name (default "RELEASE-NAME")
--name-template string specify template used to name the release
--namespace string namespace to install the release into
Expand All @@ -50,4 +50,4 @@ helm template [flags] CHART
### SEE ALSO
* [helm](helm.md) - The Helm package manager for Kubernetes.

###### Auto generated by spf13/cobra on 15-Nov-2017
###### Auto generated by spf13/cobra on 17-Jan-2018

0 comments on commit 7b5a837

Please sign in to comment.