Skip to content

Commit 2615d38

Browse files
Ensure fixed version for certmanager in testdata samples
1 parent 803e091 commit 2615d38

File tree

3 files changed

+32
-10
lines changed

3 files changed

+32
-10
lines changed

test/testdata/generate.sh

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,12 @@
1616

1717
source "$(dirname "$0")/../common.sh"
1818

19+
# To keep fixed the cert-manager version used in the scaffold of eternal types and go version used.
20+
CERT_MANAGER_MODULE="github.com/cert-manager/cert-manager"
21+
CERT_MANAGER_VERSION="${CERT_MANAGER_VERSION:-v1.18.2}"
22+
CERT_MANAGER_IMPORT="${CERT_MANAGER_MODULE}/pkg/apis/certmanager/v1"
23+
GO_VERSION_DIRECTIVE="${GO_VERSION_DIRECTIVE:-1.24.5}"
24+
1925
# This function scaffolds test projects given a project name and flags.
2026
#
2127
# Usage:
@@ -33,6 +39,10 @@ function scaffold_test_project {
3339

3440
header_text "Generating project ${project} with flags: ${init_flags}"
3541
go mod init sigs.k8s.io/kubebuilder/testdata/$project # our repo autodetection will traverse up to the kb module if we don't do this
42+
go mod edit -go="${GO_VERSION_DIRECTIVE}"
43+
if [[ $project == "project-v4" || $project == "project-v4-multigroup" ]]; then
44+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
45+
fi
3646
header_text "Initializing project ..."
3747
$kb init $init_flags --domain testproject.org --license apache2 --owner "The Kubernetes authors"
3848

@@ -50,9 +60,12 @@ function scaffold_test_project {
5060
$kb create api --group crew --version v1 --kind Admiral --plural=admirales --controller=true --resource=true --namespaced=false --make=false
5161
$kb create webhook --group crew --version v1 --kind Admiral --plural=admirales --defaulting
5262
# Controller for External types
53-
$kb create api --group "cert-manager" --version v1 --kind Certificate --controller=true --resource=false --make=false --external-api-path=github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1 --external-api-domain=io
63+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
64+
$kb create api --group "cert-manager" --version v1 --kind Certificate --controller=true --resource=false --make=false --external-api-path="${CERT_MANAGER_IMPORT}" --external-api-domain=io
5465
# Webhook for External types
55-
$kb create webhook --group "cert-manager" --version v1 --kind Issuer --defaulting --external-api-path=github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1 --external-api-domain=io
66+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
67+
$kb create webhook --group "cert-manager" --version v1 --kind Issuer --defaulting --external-api-path="${CERT_MANAGER_IMPORT}" --external-api-domain=io
68+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
5669
# Webhook for Core type
5770
$kb create webhook --group core --version v1 --kind Pod --defaulting
5871
# Webhook for kubernetes Core type that is part of an api group
@@ -81,9 +94,12 @@ function scaffold_test_project {
8194
$kb create api --group foo --version v1 --kind Bar --controller=true --resource=true --make=false
8295
$kb create api --group fiz --version v1 --kind Bar --controller=true --resource=true --make=false
8396
# Controller for External types
84-
$kb create api --group "cert-manager" --version v1 --kind Certificate --controller=true --resource=false --make=false --external-api-path=github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1 --external-api-domain=io
97+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
98+
$kb create api --group "cert-manager" --version v1 --kind Certificate --controller=true --resource=false --make=false --external-api-path="${CERT_MANAGER_IMPORT}" --external-api-domain=io
8599
# Webhook for External types
86-
$kb create webhook --group "cert-manager" --version v1 --kind Issuer --defaulting --external-api-path=github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1 --external-api-domain=io
100+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
101+
$kb create webhook --group "cert-manager" --version v1 --kind Issuer --defaulting --external-api-path="${CERT_MANAGER_IMPORT}" --external-api-domain=io
102+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
87103
# Webhook for Core type
88104
$kb create webhook --group core --version v1 --kind Pod --programmatic-validation --make=false
89105
# Webhook for kubernetes Core type that is part of an api group
@@ -120,6 +136,10 @@ function scaffold_test_project {
120136
# To avoid conflicts
121137
rm -f go.sum
122138
go mod tidy
139+
go mod edit -go="${GO_VERSION_DIRECTIVE}"
140+
if [[ $project == "project-v4" || $project == "project-v4-multigroup" ]]; then
141+
go mod edit -require="${CERT_MANAGER_MODULE}@${CERT_MANAGER_VERSION}"
142+
fi
123143
popd
124144
}
125145

testdata/project-v4-multigroup/go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,23 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4-multigroup
33
go 1.24.5
44

55
require (
6-
github.com/cert-manager/cert-manager v1.18.2
76
github.com/onsi/ginkgo/v2 v2.22.0
87
github.com/onsi/gomega v1.36.1
98
k8s.io/api v0.34.0
109
k8s.io/apimachinery v0.34.0
1110
k8s.io/client-go v0.34.0
12-
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
1311
sigs.k8s.io/controller-runtime v0.22.1
1412
)
1513

14+
require sigs.k8s.io/gateway-api v1.1.0 // indirect
15+
1616
require (
1717
cel.dev/expr v0.24.0 // indirect
1818
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
1919
github.com/beorn7/perks v1.0.1 // indirect
2020
github.com/blang/semver/v4 v4.0.0 // indirect
2121
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
22+
github.com/cert-manager/cert-manager v1.18.2
2223
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2324
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2425
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
@@ -93,8 +94,8 @@ require (
9394
k8s.io/component-base v0.34.0 // indirect
9495
k8s.io/klog/v2 v2.130.1 // indirect
9596
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
97+
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397
9698
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
97-
sigs.k8s.io/gateway-api v1.1.0 // indirect
9899
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
99100
sigs.k8s.io/randfill v1.0.0 // indirect
100101
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect

testdata/project-v4/go.mod

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,22 @@ module sigs.k8s.io/kubebuilder/testdata/project-v4
33
go 1.24.5
44

55
require (
6-
github.com/cert-manager/cert-manager v1.18.2
76
github.com/onsi/ginkgo/v2 v2.22.0
87
github.com/onsi/gomega v1.36.1
9-
k8s.io/api v0.34.0
108
k8s.io/apimachinery v0.34.0
119
k8s.io/client-go v0.34.0
1210
sigs.k8s.io/controller-runtime v0.22.1
1311
)
1412

13+
require sigs.k8s.io/gateway-api v1.1.0 // indirect
14+
1515
require (
1616
cel.dev/expr v0.24.0 // indirect
1717
github.com/antlr4-go/antlr/v4 v4.13.1 // indirect
1818
github.com/beorn7/perks v1.0.1 // indirect
1919
github.com/blang/semver/v4 v4.0.0 // indirect
2020
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
21+
github.com/cert-manager/cert-manager v1.18.2
2122
github.com/cespare/xxhash/v2 v2.3.0 // indirect
2223
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
2324
github.com/emicklei/go-restful/v3 v3.12.2 // indirect
@@ -87,14 +88,14 @@ require (
8788
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
8889
gopkg.in/inf.v0 v0.9.1 // indirect
8990
gopkg.in/yaml.v3 v3.0.1 // indirect
91+
k8s.io/api v0.34.0
9092
k8s.io/apiextensions-apiserver v0.34.0 // indirect
9193
k8s.io/apiserver v0.34.0 // indirect
9294
k8s.io/component-base v0.34.0 // indirect
9395
k8s.io/klog/v2 v2.130.1 // indirect
9496
k8s.io/kube-openapi v0.0.0-20250710124328-f3f2b991d03b // indirect
9597
k8s.io/utils v0.0.0-20250604170112-4c0f3b243397 // indirect
9698
sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2 // indirect
97-
sigs.k8s.io/gateway-api v1.1.0 // indirect
9899
sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8 // indirect
99100
sigs.k8s.io/randfill v1.0.0 // indirect
100101
sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect

0 commit comments

Comments
 (0)