added support for multiple kubernetes openapi schemas

This commit is contained in:
Natasha Sarkar
2020-11-11 18:08:46 -08:00
parent 66221d17d4
commit b61a115e76
19 changed files with 360029 additions and 380 deletions

View File

@@ -2,6 +2,7 @@
# SPDX-License-Identifier: Apache-2.0
MYGOBIN := $(shell go env GOPATH)/bin
API_VERSION := "v1.19.1"
.PHONY: all
all: \
@@ -12,14 +13,13 @@ all: \
.PHONY: clean
clean:
rm kustomizationapi/swagger.go
rm kubernetesapi/swagger.go
rm kubernetesapi/openapiinfo.go
# To get swagger.json, we need a cluster at the correct version,
# This will remove all currently built-in schema,
# so think twice before deleting.
.PHONY: nuke
nuke: clean
rm kubernetesapi/swagger.json
rm -r kubernetesapi/*
$(MYGOBIN)/go-bindata:
go install github.com/go-bindata/go-bindata/v3/go-bindata
@@ -37,26 +37,20 @@ $(MYGOBIN)/kind:
$(MYGOBIN)/kpt:
../../hack/install_kpt.sh 0.34.0 $(MYGOBIN)
kubernetesapi/swagger.go: $(MYGOBIN)/go-bindata kubernetesapi/swagger.json
$(MYGOBIN)/go-bindata \
--pkg kubernetesapi \
-o kubernetesapi/swagger.go \
kubernetesapi/swagger.json
kustomizationapi/swagger.go: $(MYGOBIN)/go-bindata kustomizationapi/swagger.json
$(MYGOBIN)/go-bindata \
--pkg kustomizationapi \
-o kustomizationapi/swagger.go \
kustomizationapi/swagger.json
kubernetesapi/openapiinfo.go: kubernetesapi/swagger.json
./makeOpenApiInfoDotGo.sh kubernetesapi/swagger.json
.PHONY: kubernetesapi/openapiinfo.go
kubernetesapi/openapiinfo.go:
./scripts/makeOpenApiInfoDotGo.sh
API_VERSION="v1.19.1"
.PHONY: kubernetesapi/swagger.json
kubernetesapi/swagger.json: $(MYGOBIN)/kind $(MYGOBIN)/kpt
cp $(HOME)/.kube/config /tmp/kubeconfig.txt | true
$(MYGOBIN)/kind create cluster --image kindest/node:$(API_VERSION) --name=getopenapidata
$(MYGOBIN)/kpt live fetch-k8s-schema --pretty-print > /tmp/new_swagger.json
$(MYGOBIN)/kind delete cluster --name=getopenapidata
cp /tmp/kubeconfig.txt $(HOME)/.kube/config | true
cp /tmp/new_swagger.json kubernetesapi/swagger.json
./scripts/fetchSchemaFromCluster.sh $(API_VERSION)
.PHONY: kubernetesapi/swagger.go
kubernetesapi/swagger.go: $(MYGOBIN)/go-bindata kubernetesapi/swagger.json
./scripts/generateSwaggerDotGo.sh $(API_VERSION)