-
Notifications
You must be signed in to change notification settings - Fork 106
Expand file tree
/
Copy pathbuild_docs.sh
More file actions
executable file
·54 lines (46 loc) · 2.28 KB
/
build_docs.sh
File metadata and controls
executable file
·54 lines (46 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/usr/bin/env bash
set -ex pipefail
CTLPLANE_FILES=()
CTLPLANE_PATHS=(
"api/client/v1beta1/openstackclient_types.go"
"api/core/v1beta1/openstackcontrolplane_types.go"
"api/core/v1beta1/openstackversion_types.go"
)
DATAPLANE_FILES=()
DATAPLANE_PATHS=(
"api/dataplane/v1beta1/openstackdataplanedeployment_types.go"
"api/dataplane/v1beta1/openstackdataplanenodeset_types.go"
"api/dataplane/v1beta1/openstackdataplaneservice_types.go"
"api/dataplane/v1beta1/common.go"
)
# Getting APIs from Services (use find to support multi-group operators like nova-operator)
SERVICE_PATH=($(MODCACHE=$(go env GOMODCACHE) awk '/openstack-k8s-operators/ && ! /lib-common/ && ! /openstack-operator/ && ! /infra/ && ! /replace/ {print ENVIRON["MODCACHE"] "/" $1 "@" $2}' api/go.mod))
for SERVICE in ${SERVICE_PATH[@]};do
CTLPLANE_PATHS+=($(find ${SERVICE} -path "*/v1beta1/*_types.go"))
done
# Getting APIs from Infra
INFRA_PATH=($(MODCACHE=$(go env GOMODCACHE) awk '/openstack-k8s-operators/ && /infra/ {print ENVIRON["MODCACHE"] "/" $1 "@" $2 "/"}' api/go.mod))
PATTERNS=("memcached/v1beta1/*_types.go" "network/v1beta1/*_types.go" "rabbitmq/v1beta1/*_types.go")
for INFRA in ${PATTERNS[@]};do
ls ${INFRA_PATH}${INFRA}
CTLPLANE_PATHS+=($(ls ${INFRA_PATH}${INFRA}))
done
# Adding -f to all API paths
for API_PATH in ${CTLPLANE_PATHS[@]};do
CTLPLANE_FILES+=$(echo " -f $API_PATH")
done
for API_PATH in ${DATAPLANE_PATHS[@]};do
DATAPLANE_FILES+=$(echo " -f $API_PATH")
done
# Build ctlplane docs from APIs
${CRD_MARKDOWN} $CTLPLANE_FILES -n OpenStackClient -n OpenStackControlPlane -n OpenStackVersion > docs/assemblies/ctlplane_resources.md
bundle exec kramdoc --auto-ids docs/assemblies/ctlplane_resources.md && rm docs/assemblies/ctlplane_resources.md
sed -i "s/=== Custom/== Custom/g" docs/assemblies/ctlplane_resources.adoc
# Build dataplane docs from APIs
${CRD_MARKDOWN} $DATAPLANE_FILES -n OpenStackDataPlaneDeployment -n OpenStackDataPlaneNodeSet -n OpenStackDataPlaneService > docs/assemblies/dataplane_resources.md
bundle exec kramdoc --auto-ids docs/assemblies/dataplane_resources.md && rm docs/assemblies/dataplane_resources.md
sed -i "s/=== Custom/== Custom/g" docs/assemblies/dataplane_resources.adoc
# Render HTML
cd docs
${MAKE} html BUILD=upstream
${MAKE} html BUILD=downstream