Skip to content

Commit 021ad70

Browse files
authored
expose defaultMinimumVersion and getMinimumVersion (#3352)
Signed-off-by: Paul S. Schweigert <paul@paulschweigert.com>
1 parent ea2b25f commit 021ad70

2 files changed

Lines changed: 26 additions & 16 deletions

File tree

version/version.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,21 @@ const (
3333
// NOTE: If you are changing this line, please also update the minimum kubernetes
3434
// version listed here:
3535
// https://github.com/knative/docs/blob/main/docs/snippets/prerequisites.md
36-
defaultMinimumVersion = "v1.34.0"
37-
)
3836

39-
// MinimumVersion returns the minimum Kubernetes version Knative is built
40-
// and tested against. The returned value has a leading "v" (e.g. "v1.34.0").
41-
func MinimumVersion() string {
42-
return defaultMinimumVersion
43-
}
37+
// DefaultKubernetesMinVersion is the default minimum Kubernetes version
38+
// Knative is built and tested against. The value has a leading "v"
39+
// (e.g. "v1.34.0").
40+
DefaultKubernetesMinVersion = "v1.34.0"
41+
)
4442

45-
func getMinimumVersion() string {
43+
// KubernetesMinimumVersion returns the minimum Kubernetes version required by
44+
// Knative. It returns the value of the KUBERNETES_MIN_VERSION environment
45+
// variable if set, otherwise DefaultKubernetesMinVersion.
46+
func KubernetesMinimumVersion() string {
4647
if v := os.Getenv(KubernetesMinVersionKey); v != "" {
4748
return v
4849
}
49-
return defaultMinimumVersion
50+
return DefaultKubernetesMinVersion
5051
}
5152

5253
// CheckMinimumVersion checks if the currently installed version of
@@ -65,7 +66,7 @@ func CheckMinimumVersion(versioner discovery.ServerVersionInterface) error {
6566
if err != nil {
6667
return err
6768
}
68-
minimumVersion, err := semver.Make(normalizeVersion(getMinimumVersion()))
69+
minimumVersion, err := semver.Make(normalizeVersion(KubernetesMinimumVersion()))
6970
if err != nil {
7071
return err
7172
}

version/version_test.go

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,27 @@ func TestVersionCheck(t *testing.T) {
9999

100100
err := CheckMinimumVersion(test.actualVersion)
101101
if err == nil && test.wantError {
102-
t.Errorf("Expected an error for minimum: %q, actual: %v", getMinimumVersion(), test.actualVersion)
102+
t.Errorf("Expected an error for minimum: %q, actual: %v", KubernetesMinimumVersion(), test.actualVersion)
103103
}
104104

105105
if err != nil && !test.wantError {
106-
t.Errorf("Expected no error but got %v for minimum: %q, actual: %v", err, getMinimumVersion(), test.actualVersion)
106+
t.Errorf("Expected no error but got %v for minimum: %q, actual: %v", err, KubernetesMinimumVersion(), test.actualVersion)
107107
}
108108
})
109109
}
110110
}
111111

112-
func TestMinimumVersion(t *testing.T) {
113-
if got := MinimumVersion(); got != defaultMinimumVersion {
114-
t.Errorf("MinimumVersion() = %q, want %q", got, defaultMinimumVersion)
115-
}
112+
func TestKubernetesMinimumVersion(t *testing.T) {
113+
t.Run("default", func(t *testing.T) {
114+
t.Setenv(KubernetesMinVersionKey, "")
115+
if got := KubernetesMinimumVersion(); got != DefaultKubernetesMinVersion {
116+
t.Errorf("KubernetesMinimumVersion() = %q, want %q", got, DefaultKubernetesMinVersion)
117+
}
118+
})
119+
t.Run("override", func(t *testing.T) {
120+
t.Setenv(KubernetesMinVersionKey, "v1.99.0")
121+
if got := KubernetesMinimumVersion(); got != "v1.99.0" {
122+
t.Errorf("KubernetesMinimumVersion() = %q, want %q", got, "v1.99.0")
123+
}
124+
})
116125
}

0 commit comments

Comments
 (0)