Skip to content

Commit

Permalink
fix: generate openapi definitions
Browse files Browse the repository at this point in the history
Signed-off-by: nwaiyatharee <nattadej.waiyatharee@agoda.com>
  • Loading branch information
agoda-devops-container committed Sep 24, 2024
1 parent 899de11 commit 7fc890b
Show file tree
Hide file tree
Showing 5 changed files with 3,862 additions and 6 deletions.
36 changes: 33 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,15 @@ VERSION=v0.0.21
all: manager

# Run tests
test: generate fmt vet manifests
test: generate generate-openapi fmt vet manifests
go test ./pkg/... -coverprofile cover.out

# Build manager binary
manager: generate fmt vet
manager: generate generate-openapi fmt vet
go build -o bin/manager ./cmd/apiserver/main.go

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

local-run:
Expand Down Expand Up @@ -84,6 +84,21 @@ else
CONTROLLER_GEN=$(shell which controller-gen)
endif

openapi-gen:
ifeq (, $(shell which openapi-gen))
@{ \
set -e ;\
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
cd $$CONTROLLER_GEN_TMP_DIR ;\
go mod init tmp ;\
go install k8s.io/kube-openapi/cmd/openapi-gen@v0.0.0-20240228011516-70dd3763d340 ;\
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
}
OPENAPI_GEN=$(GOBIN)/openapi-gen
else
OPENAPI_GEN=$(shell which openapi-gen)
endif

kustomize:
ifeq (, $(shell which kustomize))
@{ \
Expand Down Expand Up @@ -111,6 +126,21 @@ client-gen:
generate: controller-gen
${CONTROLLER_GEN} object:headerFile="hack/boilerplate.go.txt" paths="./pkg/apis/proxy/..."

.PHONY: generate-openapi
generate-openapi: openapi-gen
${OPENAPI_GEN} \
--output-pkg github.com/oam-dev/cluster-gateway/pkg/apis \
--output-file zz_generated.openapi.go \
--output-dir ./pkg/apis/generated \
--output-pkg "generated" \
--go-header-file ./hack/boilerplate.go.txt \
./pkg/apis/proxy/v1alpha1 \
./pkg/apis/cluster/v1alpha1 \
k8s.io/apimachinery/pkg/api/resource \
k8s.io/apimachinery/pkg/apis/meta/v1 \
k8s.io/apimachinery/pkg/runtime \
k8s.io/apimachinery/pkg/version

manifests: controller-gen
${CONTROLLER_GEN} $(CRD_OPTIONS) \
paths="./pkg/apis/proxy/..." \
Expand Down
5 changes: 3 additions & 2 deletions cmd/apiserver/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,18 @@ import (
"k8s.io/apimachinery/pkg/util/sets"
"k8s.io/apiserver/pkg/endpoints/request"
"k8s.io/apiserver/pkg/server"
genericfilters "k8s.io/apiserver/pkg/server/filters"
"k8s.io/klog/v2"
"sigs.k8s.io/apiserver-runtime/pkg/builder"

genericfilters "k8s.io/apiserver/pkg/server/filters"

"github.com/oam-dev/cluster-gateway/pkg/config"
"github.com/oam-dev/cluster-gateway/pkg/metrics"
"github.com/oam-dev/cluster-gateway/pkg/options"
"github.com/oam-dev/cluster-gateway/pkg/util/singleton"

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

_ "github.com/oam-dev/cluster-gateway/pkg/featuregates"
)
Expand Down Expand Up @@ -75,6 +75,7 @@ func main() {
return server
}).
WithPostStartHook("init-master-loopback-client", singleton.InitLoopbackClient).
WithOpenAPIDefinitions("Cluster Gateway", "1.0.0", generated.GetOpenAPIDefinitions).
Build()
if err != nil {
klog.Fatal(err)
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ require (
k8s.io/klog v1.0.0
k8s.io/klog/v2 v2.120.1
k8s.io/kube-aggregator v0.27.2
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340
k8s.io/utils v0.0.0-20230726121419-3b25d923346b
open-cluster-management.io/addon-framework v0.7.0
open-cluster-management.io/api v0.11.0
Expand Down Expand Up @@ -119,7 +120,6 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apiextensions-apiserver v0.29.2 // indirect
k8s.io/kms v0.29.2 // indirect
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.4.0 // indirect
Expand Down
1 change: 1 addition & 0 deletions pkg/apis/cluster/v1alpha1/clustergateway_proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ func (in *ClusterGatewayProxyOptions) ConvertFromUrlValues(values *url.Values) e

var _ http.Handler = &proxyHandler{}

// +k8s:openapi-gen=false
type proxyHandler struct {
parentName string
path string
Expand Down
Loading

0 comments on commit 7fc890b

Please sign in to comment.