Skip to content

Commit b97173d

Browse files
authored
Remove empty fields from k8s api spec (#1935)
1 parent 52e8439 commit b97173d

File tree

2 files changed

+78
-7
lines changed

2 files changed

+78
-7
lines changed

.github/workflows/k8s_apis_sync.yaml

Lines changed: 70 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ jobs:
5050
run: |-
5151
mkdir artifacts
5252
mkdir templates
53-
cp content/operate/kubernetes/reference/kubernetes-api-reference-template.tmpl templates/template.tmpl
53+
cp content/operate/kubernetes/reference/api/kubernetes-api-reference-template.tmpl templates/template.tmpl
5454
5555
crdoc --resources crds/reaadb_crd.yaml --output artifacts/redis_enterprise_active_active_database_api.md --template templates/template.tmpl
5656
sed -E -i 's/^### RedisEnterpriseActiveActiveDatabase\./### /g' artifacts/redis_enterprise_active_active_database_api.md
@@ -80,6 +80,69 @@ jobs:
8080
sed -E -i 's/\[index\]/\[\]/g' artifacts/redis_enterprise_remote_cluster_api.md
8181
awk '/(#[^")]+)index/ {gsub(/index/,"")}; {print}' artifacts/redis_enterprise_remote_cluster_api.md > _tmp.md && mv _tmp.md artifacts/redis_enterprise_remote_cluster_api.md
8282
83+
- name: 'Remove fields without description'
84+
run: |-
85+
file="artifacts/redis_enterprise_cluster_api.md"
86+
empty_fields_file="content/operate/kubernetes/reference/api/redis_enterprise_cluster_empty_fields"
87+
88+
# Read empty fields and process them
89+
while IFS= read -r field; do
90+
# Skip empty lines and comments
91+
[[ -z "$field" || "$field" =~ ^# ]] && continue
92+
93+
# Convert field path to section header pattern
94+
section_pattern="RedisEnterpriseCluster.${field}"
95+
96+
# Remove subsections that go deeper than [index] level
97+
# Keep: RedisEnterpriseCluster.spec.extraEnvVars
98+
# Keep: RedisEnterpriseCluster.spec.extraEnvVars[index]
99+
# Remove: RedisEnterpriseCluster.spec.extraEnvVars[index].valueFrom
100+
# Remove: RedisEnterpriseCluster.spec.extraEnvVars[index].valueFrom.fieldRef
101+
awk -v base_pattern="${section_pattern}" '
102+
BEGIN { skip = 0 }
103+
/^### / {
104+
# Check if this line matches a pattern we want to remove
105+
section = $0
106+
gsub(/^### /, "", section)
107+
108+
# If it starts with our base pattern
109+
if (index(section, base_pattern) == 1) {
110+
remainder = substr(section, length(base_pattern) + 1)
111+
112+
# If remainder is empty, keep it (main section)
113+
if (remainder == "") {
114+
skip = 0
115+
}
116+
# If remainder is just [index], keep it
117+
else if (remainder == "[index]") {
118+
skip = 0
119+
}
120+
# If remainder starts with [index]. (has more after [index]), remove it
121+
else if (index(remainder, "[index].") == 1) {
122+
skip = 1
123+
next
124+
}
125+
# If remainder starts with . (direct subsection), remove it
126+
else if (index(remainder, ".") == 1) {
127+
skip = 1
128+
next
129+
}
130+
# Otherwise keep it
131+
else {
132+
skip = 0
133+
}
134+
} else {
135+
# Different section, stop skipping
136+
skip = 0
137+
}
138+
}
139+
140+
skip == 0 { print }
141+
' "$file" > "${file}.tmp" && mv "${file}.tmp" "$file"
142+
143+
done < "$empty_fields_file"
144+
145+
83146
- name: 'Generate YAML snippets'
84147
run: |-
85148
function formatYamlSnippet() {
@@ -128,14 +191,14 @@ jobs:
128191
129192
git checkout -b "${BRANCH}"
130193
131-
cp artifacts/redis_enterprise_active_active_database_api.md content/operate/kubernetes/reference/
132-
cp artifacts/redis_enterprise_cluster_api.md content/operate/kubernetes/reference/
133-
cp artifacts/redis_enterprise_database_api.md content/operate/kubernetes/reference/
134-
cp artifacts/redis_enterprise_remote_cluster_api.md content/operate/kubernetes/reference/
194+
cp artifacts/redis_enterprise_active_active_database_api.md content/operate/kubernetes/reference/api/
195+
cp artifacts/redis_enterprise_cluster_api.md content/operate/kubernetes/reference/api/
196+
cp artifacts/redis_enterprise_database_api.md content/operate/kubernetes/reference/api/
197+
cp artifacts/redis_enterprise_remote_cluster_api.md content/operate/kubernetes/reference/api/
135198
136-
git apply content/operate/kubernetes/reference/kubernetes-api-reference-frontmatter.patch
199+
git apply content/operate/kubernetes/reference/api/kubernetes-api-reference-frontmatter.patch
137200
138-
git add content/operate/kubernetes/reference/
201+
git add content/operate/kubernetes/reference/api/
139202
git add content/embeds/k8s/
140203
141204
git commit -m "k8s api docs ${RELEASE}"
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
spec.extraEnvVars
2+
spec.podAntiAffinity
3+
spec.redisEnterpriseAdditionalPodSpecAttributes
4+
spec.redisEnterpriseServicesRiggerResources
5+
spec.redisEnterpriseVolumeMounts
6+
spec.servicesRiggerSpec.servicesRiggerAdditionalPodSpecAttributes
7+
spec.sideContainersSpec
8+
spec.volumes

0 commit comments

Comments
 (0)