kuma

Форк
0
/
docs.mk 
45 строк · 1.7 Кб
1
DOCS_PROTOS ?= api/mesh/v1alpha1/*.proto
2
DOCS_CP_CONFIG ?= pkg/config/app/kuma-cp/kuma-cp.defaults.yaml
3

4
.PHONY: clean/docs
5
clean/docs:
6
	rm -rf docs/generated
7

8
.PHONY: docs
9
docs: helm-docs docs/generated/raw docs/generated/openapi.yaml ## Dev: Generate local documentation
10

11
.PHONY: helm-docs
12
helm-docs: ## Dev: Runs helm-docs generator
13
	$(HELM_DOCS) -s="file" --chart-search-root=./deployments/charts
14

15
.PHONY: docs/generated/raw
16
docs/generated/raw:
17
	mkdir -p $@
18
	cp $(DOCS_CP_CONFIG) $@/kuma-cp.yaml
19
	cp $(HELM_VALUES_FILE) $@/helm-values.yaml
20

21
	mkdir -p $@/crds
22
	for f in $$(find deployments/charts -name '*.yaml' | grep '/crds/'); do cp $$f $@/crds/; done
23

24
	mkdir -p $@/protos
25
	$(PROTOC) \
26
		--jsonschema_out=$@/protos \
27
		--plugin=protoc-gen-jsonschema=$(PROTOC_GEN_JSONSCHEMA) \
28
		$(DOCS_PROTOS)
29

30
OAPI_TMP_DIR ?= $(BUILD_DIR)/oapitmp
31
API_DIRS="$(TOP)/api/openapi/specs:base"
32

33
.PHONY: docs/generated/openapi.yaml
34
docs/generated/openapi.yaml:
35
	rm -rf $(OAPI_TMP_DIR)
36
	mkdir -p $(dir $@)
37
	mkdir -p $(OAPI_TMP_DIR)/policies
38
	for i in $(API_DIRS); do mkdir -p $(OAPI_TMP_DIR)/$$(echo $${i} | cut -d: -f2); cp -R $$(echo $${i} | cut -d: -f1) $(OAPI_TMP_DIR)/$$(echo $${i} | cut -d: -f2); done
39
	for i in $$( find $(POLICIES_DIR) -name '*.yaml' | grep '/api/'); do DIR=$(OAPI_TMP_DIR)/policies/$$(echo $${i} | awk -F/ '{print $$(NF-3)}'); mkdir -p $${DIR}; cp $${i} $${DIR}/$$(echo $${i} | awk -F/ '{print $$(NF)}'); done
40

41
ifdef BASE_API
42
	docker run --rm -v $$PWD/$(dir $(BASE_API)):/base -v $(OAPI_TMP_DIR):/specs ghcr.io/kumahq/openapi-tool:v0.8.0 generate /base/$(notdir $(BASE_API)) '/specs/**/*.yaml'  '!/specs/kuma/**' > $@
43
else
44
	docker run --rm -v $(OAPI_TMP_DIR):/specs ghcr.io/kumahq/openapi-tool:v0.8.0 generate '/specs/**/*.yaml' > $@
45
endif
46

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.