@ -17,6 +17,7 @@ package common
import (
import (
"fmt"
"fmt"
"log/slog"
"slices"
"slices"
"strconv"
"strconv"
"strings"
"strings"
@ -33,8 +34,8 @@ import (
)
)
const (
const (
kubeVersionMajor Testing = 1
kubeVersionMajor Default = 1
kubeVersionMinor Testing = 20
kubeVersionMinor Default = 20
)
)
var (
var (
@ -147,14 +148,15 @@ func makeDefaultCapabilities() (*Capabilities, error) {
// (And even if they did, we probably want stable capabilities for tests anyway)
// (And even if they did, we probably want stable capabilities for tests anyway)
// Return a default value for test builds
// Return a default value for test builds
if testing . Testing ( ) {
if testing . Testing ( ) {
return newCapabilities ( kubeVersionMajor Testing, kubeVersionMinorTesting )
return newCapabilities ( kubeVersionMajor Default, kubeVersionMinorDefault )
}
}
vstr , err := helmversion . K8sIOClientGoModVersion ( )
vstr , err := helmversion . K8sIOClientGoModVersion ( )
if err != nil {
if err != nil {
// Build info may be unavailable when compiled with toolchains other
// Build info may be unavailable when compiled with toolchains other
// than "go build" (e.g. Bazel). Fall back to a safe default.
// than "go build" (e.g. Bazel). Fall back to a safe default.
return newCapabilities ( kubeVersionMajorTesting , kubeVersionMinorTesting )
slog . Warn ( "failed to retrieve k8s.io/client-go version, falling back to default Kubernetes version" , slog . Any ( "error" , err ) )
return newCapabilities ( kubeVersionMajorDefault , kubeVersionMinorDefault )
}
}
v , err := semver . NewVersion ( vstr )
v , err := semver . NewVersion ( vstr )