129 lines
5.4 KiB
Plaintext
129 lines
5.4 KiB
Plaintext
WEBROOT=${K8S_WEBROOT}
|
|
K8SROOT=${K8S_ROOT}
|
|
K8SRELEASE=${K8S_RELEASE}
|
|
|
|
# change <major>.<minor> to <major>_<minor>
|
|
getversion:
|
|
echo $(K8SRELEASE) | sed "s/\./_/g" > b.tmp
|
|
|
|
K8SVERDIR=$(shell cat b.tmp)
|
|
|
|
sepversion: getversion
|
|
echo $(K8SVERDIR) | sed "s/[0-9]_//g" > minor.tmp
|
|
echo $(K8SVERDIR) | sed "s/_[0-9]*//g" > major.tmp
|
|
|
|
MINOR_VERSION := $(shell cat minor.tmp)
|
|
MAJOR_VERSION := $(shell cat major.tmp)
|
|
ONE := 1
|
|
PREV_MINOR_VERSION := $(shell echo $$(( $(MINOR_VERSION) - $(ONE) )))
|
|
|
|
cleantmp:
|
|
rm minor.tmp; rm major.tmp; rm b.tmp
|
|
|
|
APISRC=gen-apidocs
|
|
APIDST=$(WEBROOT)/static/docs/reference/generated/kubernetes-api/v$(K8SRELEASE)
|
|
|
|
CLISRC=gen-kubectldocs/generators/build
|
|
CLIDST=$(WEBROOT)/static/docs/reference/generated/kubectl
|
|
CLISRCFONT=$(CLISRC)/node_modules/font-awesome
|
|
CLIDSTFONT=$(CLIDST)/node_modules/font-awesome
|
|
|
|
default:
|
|
@echo "Support commands:\ncli api comp copycli copyapi updateapispec"
|
|
|
|
# Set up versioned directories for new release
|
|
# kubectl-command static-includes, toc.yaml
|
|
createkubectldir: sepversion
|
|
@echo version $(K8SVERDIR)
|
|
mkdir -p $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)
|
|
if ! [ -f "$(shell pwd)/gen-kubectldocs/generators/v1_$(PREV_MINOR_VERSION)/config.yaml" ]; then \
|
|
cp -r $(shell pwd)/gen-kubectldocs/generators/v1_15/* $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)/; \
|
|
else \
|
|
cp -r $(shell pwd)/gen-kubectldocs/generators/v1_$(PREV_MINOR_VERSION)/* $(shell pwd)/gen-kubectldocs/generators/v$(K8SVERDIR)/; \
|
|
fi
|
|
|
|
# api-ref versioned dir, swagger.json, config.yaml
|
|
createapidir: sepversion
|
|
@echo version $(K8SVERDIR)
|
|
mkdir -p $(shell pwd)/gen-apidocs/config/v$(K8SVERDIR)
|
|
# config.yaml
|
|
if ! [ -f "$(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml" ]; then \
|
|
if [ -f "$(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml" ]; then \
|
|
cp $(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml; \
|
|
echo "Using config file: $(shell pwd)/gen-apidocs/config/v1_$(PREV_MINOR_VERSION)/config.yaml"; \
|
|
else \
|
|
cp $(APISRC)/config/config.yaml $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml; \
|
|
fi \
|
|
fi
|
|
# swagger.json
|
|
if ! [ -f "$(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json" ]; then \
|
|
cp $(K8SROOT)/api/openapi-spec/swagger.json $(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json; \
|
|
fi
|
|
|
|
# copy versioned files to the base config dir before generating api ref
|
|
stageapifiles: createapidir
|
|
cp $(APISRC)/config/v1_$(MINOR_VERSION)/config.yaml $(APISRC)/config/config.yaml
|
|
cp $(APISRC)/config/v1_$(MINOR_VERSION)/swagger.json $(APISRC)/config/swagger.json
|
|
|
|
# Build kubectl docs
|
|
cleancli:
|
|
sudo rm -f main
|
|
sudo rm -rf $(shell pwd)/gen-kubectldocs/generators/includes
|
|
sudo rm -rf $(shell pwd)/gen-kubectldocs/generators/build
|
|
sudo rm -rf $(shell pwd)/gen-kubectldocs/generators/manifest.json
|
|
|
|
cli: createkubectldir cleancli
|
|
go run gen-kubectldocs/main.go --kubernetes-version v1_$(MINOR_VERSION)
|
|
docker run -v $(shell pwd)/gen-kubectldocs/generators/includes:/source -v $(shell pwd)/gen-kubectldocs/generators/build:/build -v $(shell pwd)/gen-kubectldocs/generators/:/manifest pwittrock/brodocs
|
|
|
|
copycli: cli
|
|
cp gen-kubectldocs/generators/build/index.html $(WEBROOT)/static/docs/reference/generated/kubectl/kubectl-commands.html
|
|
cp gen-kubectldocs/generators/build/navData.js $(WEBROOT)/static/docs/reference/generated/kubectl/navData.js
|
|
cp $(CLISRC)/scroll.js $(CLIDST)/scroll.js
|
|
cp $(CLISRC)/stylesheet.css $(CLIDST)/stylesheet.css
|
|
cp $(CLISRC)/tabvisibility.js $(CLIDST)/tabvisibility.js
|
|
cp $(CLISRC)/node_modules/bootstrap/dist/css/bootstrap.min.css $(CLIDST)/node_modules/bootstrap/dist/css/bootstrap.min.css
|
|
cp $(CLISRC)/node_modules/highlight.js/styles/default.css $(CLIDST)/node_modules/highlight.js/styles/default.css
|
|
cp $(CLISRC)/node_modules/jquery.scrollto/jquery.scrollTo.min.js $(CLIDST)/node_modules/jquery.scrollto/jquery.scrollTo.min.js
|
|
cp $(CLISRC)/node_modules/jquery/dist/jquery.min.js $(CLIDST)/node_modules/jquery/dist/jquery.min.js
|
|
cp $(CLISRCFONT)/css/font-awesome.min.css $(CLIDSTFONT)/css/font-awesome.min.css
|
|
|
|
# Build kube component,tool docs
|
|
cleancomp:
|
|
rm -rf $(shell pwd)/gen-compdocs/build
|
|
|
|
comp: cleancomp
|
|
mkdir -p gen-compdocs/build
|
|
go run gen-compdocs/main.go gen-compdocs/build kube-apiserver
|
|
go run gen-compdocs/main.go gen-compdocs/build kube-controller-manager
|
|
go run gen-compdocs/main.go gen-compdocs/build cloud-controller-manager
|
|
go run gen-compdocs/main.go gen-compdocs/build kube-scheduler
|
|
go run gen-compdocs/main.go gen-compdocs/build kubelet
|
|
go run gen-compdocs/main.go gen-compdocs/build kube-proxy
|
|
go run gen-compdocs/main.go gen-compdocs/build kubeadm
|
|
go run gen-compdocs/main.go gen-compdocs/build kubectl
|
|
|
|
# Build api docs
|
|
updateapispec:
|
|
cp $(K8SROOT)/api/openapi-spec/swagger.json gen-apidocs/config/swagger.json
|
|
|
|
api: cleanapi stageapifiles
|
|
go run gen-apidocs/main.go --work-dir=gen-apidocs --munge-groups=false
|
|
|
|
cleanapi:
|
|
rm -rf $(shell pwd)/gen-apidocs/build
|
|
|
|
copyapi: api
|
|
mkdir -p $(APIDST)
|
|
cp $(APISRC)/build/index.html $(APIDST)/index.html
|
|
# copy scroll.js, jquery.scrollTo.min.js and the new navData.js
|
|
mkdir -p $(APIDST)/js
|
|
cp $(APISRC)/build/navData.js $(APIDST)/js/
|
|
cp $(APISRC)/static/js/* $(APIDST)/js/
|
|
# copy stylesheet.css, bootstrap.min.css, font-awesome.min.css
|
|
mkdir -p $(APIDST)/css
|
|
cp $(APISRC)/static/css/* $(APIDST)/css/
|
|
# copy fonts data
|
|
mkdir -p $(APIDST)/fonts
|
|
cp $(APISRC)/static/fonts/* $(APIDST)/fonts/
|