File tree 5 files changed +49
-6
lines changed
cmd/machine-controller-manager/app 5 files changed +49
-6
lines changed Original file line number Diff line number Diff line change 28
28
export BINARY_PATH=" $( ${READLINK_BIN} -f " ${BINARY_PATH} " ) /bin"
29
29
fi
30
30
31
- cd " ${SOURCE_PATH} "
31
+ VCS=" github.com"
32
+ ORGANIZATION=" gardener"
33
+ PROJECT=" machine-controller-manager"
34
+ REPOSITORY=${VCS} /${ORGANIZATION} /${PROJECT}
35
+ GIT_SHA=" ${GIT_SHA:- $(git rev-parse --short HEAD || echo " GitNotFound" )} "
36
+
37
+ cd " ${SOURCE_PATH} "
32
38
33
39
# ##############################################################################
34
40
41
+ VERSION_FILE=" $( ${READLINK_BIN} -f " ${SOURCE_PATH} /VERSION" ) "
42
+ VERSION=" ${VERSION:- " $( cat " ${VERSION_FILE} " ) " } "
43
+ GIT_SHA=" ${GIT_SHA:- $(git rev-parse --short HEAD || echo " GitNotFound" )} "
44
+
35
45
CGO_ENABLED=0 GO111MODULE=on go build \
36
46
-v \
37
47
-o " ${BINARY_PATH} /machine-controller-manager" \
48
+ -ldflags " -w -X ${REPOSITORY} /pkg/version.Version=${VERSION} -X ${REPOSITORY} /pkg/version.GitSHA=${GIT_SHA} " \
38
49
cmd/machine-controller-manager/controller_manager.go
Original file line number Diff line number Diff line change 6
6
TOOLS_DIR := hack/tools
7
7
include hack/tools.mk
8
8
9
+ REPOSITORY := $(shell go list -m)
9
10
IMAGE_REPOSITORY := europe-docker.pkg.dev/gardener-project/public/gardener/machine-controller-manager
10
- IMAGE_TAG := $(shell cat VERSION)
11
+ VERSION := $(shell cat VERSION)
12
+ IMAGE_TAG := $(VERSION )
13
+ GIT_SHA := $(shell git rev-parse --short HEAD || echo "GitNotFound")
11
14
COVERPROFILE := test/output/coverprofile.out
12
15
13
16
LEADER_ELECT ?= "true" # If LEADER_ELECT is not set in the environment, use the default value "true"
@@ -89,6 +92,7 @@ non-gardener-restore:
89
92
.PHONY : start
90
93
start :
91
94
@GO111MODULE=on go run \
95
+ -ldflags " -w -X ${REPOSITORY} /pkg/version.Version=${VERSION} -X ${REPOSITORY} /pkg/version.GitSHA=${GIT_SHA} " \
92
96
cmd/machine-controller-manager/controller_manager.go \
93
97
--control-kubeconfig=${CONTROL_KUBECONFIG} \
94
98
--target-kubeconfig=${TARGET_KUBECONFIG} \
Original file line number Diff line number Diff line change @@ -43,6 +43,7 @@ import (
43
43
"github.com/gardener/machine-controller-manager/cmd/machine-controller-manager/app/options"
44
44
"github.com/gardener/machine-controller-manager/pkg/handlers"
45
45
"github.com/gardener/machine-controller-manager/pkg/util/configz"
46
+ "github.com/gardener/machine-controller-manager/pkg/version"
46
47
prometheus "github.com/prometheus/client_golang/prometheus/promhttp"
47
48
v1 "k8s.io/api/core/v1"
48
49
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -51,7 +52,6 @@ import (
51
52
"k8s.io/client-go/discovery"
52
53
"k8s.io/client-go/kubernetes"
53
54
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
54
- "k8s.io/client-go/pkg/version"
55
55
"k8s.io/client-go/rest"
56
56
"k8s.io/client-go/tools/clientcmd"
57
57
"k8s.io/client-go/tools/leaderelection"
75
75
// Run runs the MCMServer. This should never exit.
76
76
func Run (s * options.MCMServer ) error {
77
77
// To help debugging, immediately log version
78
- klog . V ( 3 ). Infof ( "Version: %+v" , version .Get () )
78
+ version .LogVersionInfoWithLevel ( 3 )
79
79
if err := s .Validate (); err != nil {
80
80
return err
81
81
}
Original file line number Diff line number Diff line change @@ -45,6 +45,7 @@ import (
45
45
"github.com/gardener/machine-controller-manager/pkg/util/configz"
46
46
"github.com/gardener/machine-controller-manager/pkg/util/provider/app/options"
47
47
"github.com/gardener/machine-controller-manager/pkg/util/provider/driver"
48
+ "github.com/gardener/machine-controller-manager/pkg/version"
48
49
prometheus "github.com/prometheus/client_golang/prometheus/promhttp"
49
50
v1 "k8s.io/api/core/v1"
50
51
"k8s.io/apimachinery/pkg/runtime/schema"
@@ -53,7 +54,6 @@ import (
53
54
"k8s.io/client-go/discovery"
54
55
"k8s.io/client-go/kubernetes"
55
56
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
56
- "k8s.io/client-go/pkg/version"
57
57
"k8s.io/client-go/rest"
58
58
"k8s.io/client-go/tools/clientcmd"
59
59
"k8s.io/client-go/tools/leaderelection"
73
73
// Run runs the MCServer. This should never exit.
74
74
func Run (s * options.MCServer , driver driver.Driver ) error {
75
75
// To help debugging, immediately log version
76
- klog . V ( 4 ). Infof ( "Version: %+v" , version .Get () )
76
+ version .LogVersionInfoWithLevel ( 4 )
77
77
if err := s .Validate (); err != nil {
78
78
return err
79
79
}
Original file line number Diff line number Diff line change
1
+ // SPDX-FileCopyrightText: 2025 SAP SE or an SAP affiliate company and Gardener contributors
2
+ //
3
+ // SPDX-License-Identifier: Apache-2.0
4
+
5
+ package version
6
+
7
+ import (
8
+ "k8s.io/klog/v2"
9
+ "runtime"
10
+ )
11
+
12
+ var (
13
+ // These variables typically come from -ldflags settings in build
14
+
15
+ // Version shows the machine-controller-manager binary version.
16
+ Version string
17
+ // GitSHA shows the machine-controller-manager binary code commit SHA on git.
18
+ GitSHA string
19
+ )
20
+
21
+ // LogVersionInfoWithLevel logs machine-controller-manager version and build information.
22
+ func LogVersionInfoWithLevel (debugLevel int32 ) {
23
+ level := klog .Level (debugLevel )
24
+ klog .V (level ).Infof ("machine-controller-manager Version: %s\n " , Version )
25
+ klog .V (level ).Infof ("Git SHA: %s\n " , GitSHA )
26
+ klog .V (level ).Infof ("Go Version: %s\n " , runtime .Version ())
27
+ klog .V (level ).Infof ("Go OS/Arch: %s/%s\n " , runtime .GOOS , runtime .GOARCH )
28
+ }
You can’t perform that action at this time.
0 commit comments