diff --git a/Dockerfile b/Dockerfile index fb73765f0..261ec1b5f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,8 +21,9 @@ COPY cmd/epp ./cmd/epp COPY pkg/epp ./pkg/epp COPY internal ./internal COPY api ./api +COPY version ./version WORKDIR /src/cmd/epp -RUN go build -ldflags="-X sigs.k8s.io/gateway-api-inference-extension/pkg/epp/metrics.CommitSHA=${COMMIT_SHA} -X sigs.k8s.io/gateway-api-inference-extension/pkg/epp/metrics.BuildRef=${BUILD_REF}" -o /epp +RUN go build -ldflags="-X sigs.k8s.io/gateway-api-inference-extension/version.CommitSHA=${COMMIT_SHA} -X sigs.k8s.io/gateway-api-inference-extension/version.BuildRef=${BUILD_REF}" -o /epp ## Multistage deploy FROM ${BASE_IMAGE} diff --git a/cmd/epp/runner/runner.go b/cmd/epp/runner/runner.go index f4eec814f..4c5a541a7 100644 --- a/cmd/epp/runner/runner.go +++ b/cmd/epp/runner/runner.go @@ -48,6 +48,7 @@ import ( "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling" runserver "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/server" "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/logging" + "sigs.k8s.io/gateway-api-inference-extension/version" ) var ( @@ -197,6 +198,8 @@ func (r *Runner) Run(ctx context.Context) error { flag.Parse() initLogging(&opts) + setupLog.Info("GIE build", "commit-sha", version.CommitSHA, "build-ref", version.BuildRef) + // Validate flags if err := validateFlags(); err != nil { setupLog.Error(err, "Failed to validate flags") @@ -242,7 +245,7 @@ func (r *Runner) Run(ctx context.Context) error { // --- Setup Metrics Server --- customCollectors := []prometheus.Collector{collectors.NewInferencePoolMetricsCollector(datastore)} metrics.Register(customCollectors...) - metrics.RecordInferenceExtensionInfo() + metrics.RecordInferenceExtensionInfo(version.CommitSHA, version.BuildRef) // Register metrics handler. // Metrics endpoint is enabled in 'config/default/kustomization.yaml'. The Metrics options configure the server. // More info: diff --git a/pkg/epp/metrics/metrics.go b/pkg/epp/metrics/metrics.go index 7295b1572..4e9e95ef9 100644 --- a/pkg/epp/metrics/metrics.go +++ b/pkg/epp/metrics/metrics.go @@ -36,14 +36,6 @@ const ( InferenceExtension = "inference_extension" ) -var ( - // The git hash of the latest commit in the build. - CommitSHA string - - // The build ref from the _PULL_BASE_REF from cloud build trigger. - BuildRef string -) - var ( // Inference Model Metrics requestCounter = prometheus.NewCounterVec( @@ -437,6 +429,6 @@ func RecordPrefixCacheMatch(matchedLength, totalLength int) { } } -func RecordInferenceExtensionInfo() { - InferenceExtensionInfo.WithLabelValues(CommitSHA, BuildRef).Set(1) +func RecordInferenceExtensionInfo(commitSha, buildRef string) { + InferenceExtensionInfo.WithLabelValues(commitSha, buildRef).Set(1) } diff --git a/version/version.go b/version/version.go index 1da42f26a..f220fee7b 100644 --- a/version/version.go +++ b/version/version.go @@ -16,6 +16,14 @@ limitations under the License. package version +var ( + // The git hash of the latest commit in the build. + CommitSHA string + + // The build ref from the _PULL_BASE_REF from cloud build trigger. + BuildRef string +) + const ( // BundleVersion is the value used for labeling the version of the gateway-api-inference-extension. BundleVersion = "v0.4.0-dev"