mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-06-14 10:30:59 +00:00
Refactor making of openapi generated files.
This commit is contained in:
62
kyaml/openapi/Makefile
Normal file
62
kyaml/openapi/Makefile
Normal file
@@ -0,0 +1,62 @@
|
||||
# Copyright 2020 The Kubernetes Authors.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
MYGOBIN := $(shell go env GOPATH)/bin
|
||||
|
||||
.PHONY: all
|
||||
all: \
|
||||
kustomizationapi/swagger.go \
|
||||
kubernetesapi/swagger.go \
|
||||
kubernetesapi/openapiinfo.go
|
||||
|
||||
.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,
|
||||
# so think twice before deleting.
|
||||
.PHONY: nuke
|
||||
nuke: clean
|
||||
rm kubernetesapi/swagger.json
|
||||
|
||||
$(MYGOBIN)/go-bindata:
|
||||
go install github.com/go-bindata/go-bindata/v3/go-bindata
|
||||
|
||||
$(MYGOBIN)/kind:
|
||||
( \
|
||||
set -e; \
|
||||
d=$(shell mktemp -d); cd $$d; \
|
||||
wget -O ./kind https://github.com/kubernetes-sigs/kind/releases/download/v0.7.0/kind-$(shell uname)-amd64; \
|
||||
chmod +x ./kind; \
|
||||
mv ./kind $(MYGOBIN); \
|
||||
rm -rf $$d; \
|
||||
)
|
||||
|
||||
$(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
|
||||
|
||||
API_VERSION="v1.19.1"
|
||||
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
|
||||
Reference in New Issue
Block a user