11package main
22
33import (
4+ "fmt"
45 "os"
56
67 "helmvalues/cmd/helm-values/internal/config"
@@ -11,6 +12,10 @@ import (
1112 "github.com/spf13/cobra"
1213)
1314
15+ var BuildVersion string
16+ var BuildCommit string
17+ var BuildDate string
18+
1419func main () {
1520 logger := logrus .New ()
1621 logger .SetLevel (logrus .InfoLevel )
@@ -27,12 +32,13 @@ func Program(logger *logrus.Logger) *cobra.Command {
2732 Short : "Schema and docs generator for Helm values" ,
2833 }
2934 cmd .CompletionOptions .DisableDefaultCmd = true
30- cmd .AddCommand (Schema (logger ))
31- cmd .AddCommand (Docs (logger ))
35+ cmd .AddCommand (CommandSchema (logger ))
36+ cmd .AddCommand (CommandDocs (logger ))
37+ cmd .AddCommand (CommandVersion (logger ))
3238 return cmd
3339}
3440
35- func Schema (logger * logrus.Logger ) * cobra.Command {
41+ func CommandSchema (logger * logrus.Logger ) * cobra.Command {
3642 cfg := config .NewSchemaConfig ()
3743
3844 cmd := & cobra.Command {
@@ -56,7 +62,7 @@ func Schema(logger *logrus.Logger) *cobra.Command {
5662 return cmd
5763}
5864
59- func Docs (logger * logrus.Logger ) * cobra.Command {
65+ func CommandDocs (logger * logrus.Logger ) * cobra.Command {
6066 cfg := config .NewDocsConfig ()
6167
6268 cmd := & cobra.Command {
@@ -80,3 +86,23 @@ func Docs(logger *logrus.Logger) *cobra.Command {
8086
8187 return cmd
8288}
89+
90+ func CommandVersion (logger * logrus.Logger ) * cobra.Command {
91+ cfg := config .NewDocsConfig ()
92+
93+ cmd := & cobra.Command {
94+ Use : "version" ,
95+ Short : "Print version information" ,
96+ RunE : func (cmd * cobra.Command , args []string ) error {
97+ fmt .Printf ("helm-values\n \n " )
98+ fmt .Printf (" Version: %s\n " , BuildVersion )
99+ fmt .Printf (" Commit: %s\n " , BuildCommit )
100+ fmt .Printf (" Date: %s\n " , BuildDate )
101+ return nil
102+ },
103+ }
104+
105+ cfg .BindFlags (cmd )
106+
107+ return cmd
108+ }
0 commit comments