diff --git a/cmd/version.go b/cmd/version.go new file mode 100644 index 0000000..e6a4f12 --- /dev/null +++ b/cmd/version.go @@ -0,0 +1,23 @@ +package cmd + +import ( + "fmt" + "github.com/spf13/cobra" +) + +var KubeBenchVersion string + +// versionCmd represents the version command +var versionCmd = &cobra.Command{ + Use: "version", + Short: "Shows the version of kube-bench.", + Long: `Shows the version of kube-bench.`, + Run: func(cmd *cobra.Command, args []string) { + fmt.Println(KubeBenchVersion) + }, +} + +func init() { + RootCmd.AddCommand(versionCmd) +} + diff --git a/makefile b/makefile index 2e1bc29..0b0bfaa 100644 --- a/makefile +++ b/makefile @@ -2,6 +2,7 @@ SOURCES := $(shell find . -name '*.go') BINARY := kube-bench DOCKER_REGISTRY ?= aquasec VERSION ?= $(shell git rev-parse --short=7 HEAD) +KUBEBENCH_VERSION ?= $(shell git describe --tags --abbrev=0) IMAGE_NAME ?= $(DOCKER_REGISTRY)/$(BINARY):$(VERSION) TARGET_OS := linux BUILD_OS := linux @@ -22,7 +23,7 @@ KIND_CONTAINER_NAME=$(KIND_PROFILE)-control-plane build: kube-bench $(BINARY): $(SOURCES) - GOOS=$(TARGET_OS) go build -o $(BINARY) . + GOOS=$(TARGET_OS) go build -ldflags "-X github.com/aquasecurity/kube-bench/cmd.KubeBenchVersion=$(KUBEBENCH_VERSION)" -o $(BINARY) . # builds the current dev docker version build-docker: