Skip to content

Commit 33c8891

Browse files
authored
Merge pull request #152 from phantomnat/feat/update-k8s
Chore: update k8s to 1.29
2 parents 48259e0 + 3112ccc commit 33c8891

File tree

12 files changed

+4152
-452
lines changed

12 files changed

+4152
-452
lines changed

.github/workflows/ci.yaml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ on:
1111

1212
env:
1313
# Common versions
14-
GO_VERSION: '1.20'
15-
GOLANGCI_VERSION: 'v1.49'
16-
KIND_VERSION: 'v0.19.0'
14+
GO_VERSION: '1.22'
15+
GOLANGCI_VERSION: 'v1.56'
16+
KIND_VERSION: 'v0.23.0'
1717

1818
jobs:
1919

@@ -54,9 +54,9 @@ jobs:
5454
- name: install Kubebuilder
5555
uses: RyanSiu1995/[email protected]
5656
with:
57-
version: 3.1.0
57+
version: 3.15.1
5858
kubebuilderOnly: false
59-
kubernetesVersion: v1.22.0
59+
kubernetesVersion: v1.29.0
6060
- name: Run Make test
6161
run: make test
6262
- name: Upload coverage report
@@ -93,6 +93,9 @@ jobs:
9393
restore-keys: ${{ runner.os }}-pkg-
9494
- name: Create k8s Kind Cluster
9595
uses: helm/[email protected]
96+
with:
97+
version: v0.24.0
98+
node_image: kindest/node:v1.29.8
9699
- name: Build Image
97100
run: |
98101
make image
@@ -135,6 +138,9 @@ jobs:
135138
run: curl -L https://raw.githubusercontent.com/open-cluster-management-io/clusteradm/main/install.sh | bash
136139
- name: Create k8s Kind Cluster
137140
uses: helm/[email protected]
141+
with:
142+
version: v0.24.0
143+
node_image: kindest/node:v1.29.8
138144
- name: Prepare OCM testing environment
139145
run: |
140146
clusteradm init --output-join-command-file join.sh --wait
@@ -152,6 +158,8 @@ jobs:
152158
cluster-gateway ./charts/addon-manager \
153159
--set tag=latest
154160
go run ./e2e/env/prepare | kubectl apply -f -
161+
kubectl rollout status deployment -n vela-system gateway-deployment --timeout 1m
162+
kubectl wait --for=condition=Available apiservice/v1alpha1.cluster.core.oam.dev
155163
- name: Run e2e test
156164
run: |
157165
make test-e2e-ocm

.github/workflows/go-release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- 'v*'
77
env:
88
# Common versions
9-
GO_VERSION: '1.20'
9+
GO_VERSION: '1.22'
1010
GO_REQUIRED_MIN_VERSION: ''
1111
GOPATH: '/home/runner/work/oamdev/cluster-gateway/go'
1212
GITHUB_REF: ${{ github.ref }}

Makefile

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
IMG ?= controller:latest
44
IMG_TAG ?= latest
55
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
6-
CRD_OPTIONS ?= "crd:trivialVersions=true"
6+
CRD_OPTIONS ?= "crd"
77

88
OS?=linux
99
ARCH?=amd64
@@ -20,15 +20,15 @@ VERSION=v0.0.21
2020
all: manager
2121

2222
# Run tests
23-
test: generate fmt vet manifests
23+
test: generate generate-openapi fmt vet manifests
2424
go test ./pkg/... -coverprofile cover.out
2525

2626
# Build manager binary
27-
manager: generate fmt vet
27+
manager: generate generate-openapi fmt vet
2828
go build -o bin/manager ./cmd/apiserver/main.go
2929

3030
# Run against the configured Kubernetes cluster in ~/.kube/config
31-
run: generate fmt vet manifests
31+
run: generate generate-openapi fmt vet manifests
3232
go run ./cmd/apiserver/main.go
3333

3434
local-run:
@@ -76,14 +76,29 @@ ifeq (, $(shell which controller-gen))
7676
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
7777
cd $$CONTROLLER_GEN_TMP_DIR ;\
7878
go mod init tmp ;\
79-
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.3.0 ;\
79+
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0 ;\
8080
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
8181
}
8282
CONTROLLER_GEN=$(GOBIN)/controller-gen
8383
else
8484
CONTROLLER_GEN=$(shell which controller-gen)
8585
endif
8686

87+
openapi-gen:
88+
ifeq (, $(shell which openapi-gen))
89+
@{ \
90+
set -e ;\
91+
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
92+
cd $$CONTROLLER_GEN_TMP_DIR ;\
93+
go mod init tmp ;\
94+
go install k8s.io/kube-openapi/cmd/[email protected] ;\
95+
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
96+
}
97+
OPENAPI_GEN=$(GOBIN)/openapi-gen
98+
else
99+
OPENAPI_GEN=$(shell which openapi-gen)
100+
endif
101+
87102
kustomize:
88103
ifeq (, $(shell which kustomize))
89104
@{ \
@@ -100,7 +115,7 @@ KUSTOMIZE=$(shell which kustomize)
100115
endif
101116

102117
client-gen:
103-
go install k8s.io/code-generator/cmd/client-gen@v0.21.2
118+
go install k8s.io/code-generator/cmd/client-gen@v0.29.2
104119
apiserver-runtime-gen \
105120
--module github.com/oam-dev/cluster-gateway \
106121
-g client-gen \
@@ -111,6 +126,21 @@ client-gen:
111126
generate: controller-gen
112127
${CONTROLLER_GEN} object:headerFile="hack/boilerplate.go.txt" paths="./pkg/apis/proxy/..."
113128

129+
.PHONY: generate-openapi
130+
generate-openapi: openapi-gen
131+
${OPENAPI_GEN} \
132+
--output-pkg github.com/oam-dev/cluster-gateway/pkg/apis \
133+
--output-file zz_generated.openapi.go \
134+
--output-dir ./pkg/apis/generated \
135+
--output-pkg "generated" \
136+
--go-header-file ./hack/boilerplate.go.txt \
137+
./pkg/apis/proxy/v1alpha1 \
138+
./pkg/apis/cluster/v1alpha1 \
139+
k8s.io/apimachinery/pkg/api/resource \
140+
k8s.io/apimachinery/pkg/apis/meta/v1 \
141+
k8s.io/apimachinery/pkg/runtime \
142+
k8s.io/apimachinery/pkg/version
143+
114144
manifests: controller-gen
115145
${CONTROLLER_GEN} $(CRD_OPTIONS) \
116146
paths="./pkg/apis/proxy/..." \

cmd/addon-manager/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
ARG OS=linux
22
ARG ARCH=amd64
33
# Build the manager binary
4-
FROM golang:1.20 as builder
4+
FROM golang:1.22 as builder
55
ARG OS
66
ARG ARCH
77

cmd/addon-manager/main.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ import (
2121
addonv1alpha1 "open-cluster-management.io/api/addon/v1alpha1"
2222
ocmauthv1alpha1 "open-cluster-management.io/managed-serviceaccount/api/v1alpha1"
2323
ctrl "sigs.k8s.io/controller-runtime"
24+
metricsserver "sigs.k8s.io/controller-runtime/pkg/metrics/server"
25+
"sigs.k8s.io/controller-runtime/pkg/webhook"
2426
)
2527

2628
var (
@@ -57,9 +59,13 @@ func main() {
5759
ctrl.SetLogger(logger)
5860

5961
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
60-
Scheme: scheme,
61-
MetricsBindAddress: metricsAddr,
62-
Port: 9443,
62+
Scheme: scheme,
63+
Metrics: metricsserver.Options{
64+
BindAddress: metricsAddr,
65+
},
66+
WebhookServer: webhook.NewServer(webhook.Options{
67+
Port: 9443,
68+
}),
6369
HealthProbeBindAddress: probeAddr,
6470
LeaderElection: enableLeaderElection,
6571
LeaderElectionID: "cluster-gateway-addon-manager",

cmd/apiserver/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.20-alpine as builder
2+
FROM golang:1.22-alpine as builder
33
ARG OS
44
ARG ARCH
55

cmd/apiserver/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,18 @@ import (
2020
"k8s.io/apimachinery/pkg/util/sets"
2121
"k8s.io/apiserver/pkg/endpoints/request"
2222
"k8s.io/apiserver/pkg/server"
23+
genericfilters "k8s.io/apiserver/pkg/server/filters"
2324
"k8s.io/klog/v2"
2425
"sigs.k8s.io/apiserver-runtime/pkg/builder"
2526

26-
genericfilters "k8s.io/apiserver/pkg/server/filters"
27-
2827
"github.com/oam-dev/cluster-gateway/pkg/config"
2928
"github.com/oam-dev/cluster-gateway/pkg/metrics"
3029
"github.com/oam-dev/cluster-gateway/pkg/options"
3130
"github.com/oam-dev/cluster-gateway/pkg/util/singleton"
3231

3332
// +kubebuilder:scaffold:resource-imports
3433
clusterv1alpha1 "github.com/oam-dev/cluster-gateway/pkg/apis/cluster/v1alpha1"
34+
"github.com/oam-dev/cluster-gateway/pkg/apis/generated"
3535

3636
_ "github.com/oam-dev/cluster-gateway/pkg/featuregates"
3737
)
@@ -75,6 +75,7 @@ func main() {
7575
return server
7676
}).
7777
WithPostStartHook("init-master-loopback-client", singleton.InitLoopbackClient).
78+
WithOpenAPIDefinitions("Cluster Gateway", "1.0.0", generated.GetOpenAPIDefinitions).
7879
Build()
7980
if err != nil {
8081
klog.Fatal(err)

0 commit comments

Comments
 (0)