From 2d96962f1c05138c4d5a7c880b969ba6b8eba9d5 Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Wed, 14 Oct 2026 11:58:12 +0000 Subject: [PATCH 1/4] build(hack): skip apps a docs version has no template for A patch release of an older line runs `make update-all` with the same app lists against that line's tag and docs tree. An app added for a newer release has no README at the old tag, so `update_apps.sh` exits 1 on the 404 and the docs job fails. An app that does exist at the old tag but was never documented there gets an empty template touched into the old tree and a page without front matter. Treat the `_include/.md` template as the roster: a version documents the apps it has a template for. An app without one is skipped with a warning before anything is fetched or written, so the lists can name every current app while older trees keep their own set. An app that has a template and whose README is missing at the ref still fails the job, as before. Assisted-By: LLM Signed-off-by: Myasnikov Daniil --- hack/update_apps.sh | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/hack/update_apps.sh b/hack/update_apps.sh index f74a995b..6c5d71b6 100755 --- a/hack/update_apps.sh +++ b/hack/update_apps.sh @@ -19,6 +19,8 @@ Options: Notes: * Template markdown files are expected in DEST_DIR/_include (derived automatically). * Each template file should be named .md. + * An app without a template is skipped with a warning: the templates decide which apps + that docs version covers. Examples: hack/update_apps.sh --apps "tenant redis" --dest content/en/docs/reference/applications @@ -84,7 +86,7 @@ RAW_BASE_URL="https://raw.githubusercontent.com/${SOURCE_REPO}/${BRANCH}/package # The per-app temp file is removed on every explicit exit path below; the trap -# covers aborts between mktemp and those paths (set -e on touch/cp/heredoc). +# covers aborts between mktemp and those paths (set -e on cp/heredoc). trap 'rm -f "${tmp:-}"' EXIT for app in "${APPS[@]}"; do @@ -101,6 +103,15 @@ for app in "${APPS[@]}"; do fi fi + # A patch release of an older line runs these same lists against a tree and a tag + # that predate newer apps, whose README may 404 at that tag. Such a tree has no + # template for them, so skip the app instead of fetching it or writing a page + # without front matter. + if [[ ! -f "$src_file" ]]; then + echo "⚠️ Skipping $app: no template $src_file in this docs version" >&2 + continue + fi + readme_url="${RAW_BASE_URL}/${app}/README.md" echo "Processing $app..." @@ -119,9 +130,6 @@ for app in "${APPS[@]}"; do exit 1 fi - # Ensure template exists (touch if missing) - [[ -f "$src_file" ]] || touch "$src_file" - # Copy template to destination (overwrite) cp "$src_file" "$dest_file" From 25f517bf1a8c905ae182551e55ed14fc43974ef4 Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Wed, 14 Oct 2026 11:58:30 +0000 Subject: [PATCH 2/4] docs(applications): generate Valkey, OpenSearch and Bucket references Valkey is new in v1.7; OpenSearch (since v1.2) and Bucket (since v1.0) are in the catalog but have no reference page in any docs version. Their READMEs are generated by cozyvalues-gen and in sync with values.yaml at v1.7.0-rc.1, so they go into APPS with front-matter templates in the trunk. `release-next` copies the templates into the new version tree and the promote run's `update-all` renders the pages from the release ref; generated pages are not committed by hand. Older lines have no template for these apps, so patch releases of them skip the apps instead of fetching a README that may not exist there or writing a page that version never had. Assisted-By: LLM Signed-off-by: Myasnikov Daniil --- Makefile | 2 +- content/en/docs/next/applications/_include/bucket.md | 6 ++++++ content/en/docs/next/applications/_include/opensearch.md | 6 ++++++ content/en/docs/next/applications/_include/valkey.md | 6 ++++++ 4 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 content/en/docs/next/applications/_include/bucket.md create mode 100644 content/en/docs/next/applications/_include/opensearch.md create mode 100644 content/en/docs/next/applications/_include/valkey.md diff --git a/Makefile b/Makefile index 7847b244..df4f6902 100644 --- a/Makefile +++ b/Makefile @@ -72,7 +72,7 @@ else endif # App lists (override on the command line: `make update-apps APPS="tenant redis"`) -APPS ?= tenant clickhouse foundationdb harbor redis mongodb openbao rabbitmq postgres nats kafka mariadb qdrant +APPS ?= tenant clickhouse foundationdb harbor redis mongodb openbao rabbitmq postgres nats kafka mariadb qdrant valkey opensearch bucket K8S ?= kubernetes VMS ?= vm-disk vm-instance NETWORKING ?= vpc vpn http-cache tcp-balancer diff --git a/content/en/docs/next/applications/_include/bucket.md b/content/en/docs/next/applications/_include/bucket.md new file mode 100644 index 00000000..a5113002 --- /dev/null +++ b/content/en/docs/next/applications/_include/bucket.md @@ -0,0 +1,6 @@ +--- +title: "S3 Bucket Reference" +linkTitle: "Bucket" +weight: 50 +--- + diff --git a/content/en/docs/next/applications/_include/opensearch.md b/content/en/docs/next/applications/_include/opensearch.md new file mode 100644 index 00000000..e1812b2a --- /dev/null +++ b/content/en/docs/next/applications/_include/opensearch.md @@ -0,0 +1,6 @@ +--- +title: "Managed OpenSearch Service" +linkTitle: "OpenSearch" +weight: 50 +--- + diff --git a/content/en/docs/next/applications/_include/valkey.md b/content/en/docs/next/applications/_include/valkey.md new file mode 100644 index 00000000..9372fcde --- /dev/null +++ b/content/en/docs/next/applications/_include/valkey.md @@ -0,0 +1,6 @@ +--- +title: "Managed Valkey Service" +linkTitle: "Valkey" +weight: 50 +--- + From a65ec1430cc3fed2e6b8e8e80003959bdf7ae78e Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Wed, 14 Oct 2026 11:58:50 +0000 Subject: [PATCH 3/4] docs(kubernetes): generate the KubernetesNodes worker pool reference From v1.7 a managed Kubernetes cluster gets its workers from KubernetesNodes resources: `nodeGroups` is gone from the kubernetes chart. The kubernetes-nodes README is generated by cozyvalues-gen and in sync with values.yaml at v1.7.0-rc.1, but no docs version renders it, so the pool options have no reference page. Render it as a page inside the Kubernetes section, next to the cluster reference in kubernetes/_index.md, from its own list so that it is a regular page rather than a second index section. The v1.6 tree has no template for it, so v1.6 patch releases skip it. Assisted-By: LLM Signed-off-by: Myasnikov Daniil --- Makefile | 4 ++++ .../en/docs/next/kubernetes/_include/kubernetes-nodes.md | 7 +++++++ 2 files changed, 11 insertions(+) create mode 100644 content/en/docs/next/kubernetes/_include/kubernetes-nodes.md diff --git a/Makefile b/Makefile index df4f6902..60d04d17 100644 --- a/Makefile +++ b/Makefile @@ -74,11 +74,13 @@ endif # App lists (override on the command line: `make update-apps APPS="tenant redis"`) APPS ?= tenant clickhouse foundationdb harbor redis mongodb openbao rabbitmq postgres nats kafka mariadb qdrant valkey opensearch bucket K8S ?= kubernetes +K8S_NODES ?= kubernetes-nodes VMS ?= vm-disk vm-instance NETWORKING ?= vpc vpn http-cache tcp-balancer SERVICES ?= bootbox etcd ingress monitoring seaweedfs APPS_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/applications K8S_DEST_DIR ?= content/en/docs/$(DOC_VERSION) +K8S_NODES_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/kubernetes VMS_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/virtualization NETWORKING_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/networking SERVICES_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/operations/services @@ -99,6 +101,7 @@ update-networking: update-k8s: ./hack/update_apps.sh --index --apps "$(K8S)" --dest "$(K8S_DEST_DIR)" --branch "$(FETCH_REF)" --source-ref "$(SOURCE_REF)" + ./hack/update_apps.sh --apps "$(K8S_NODES)" --dest "$(K8S_NODES_DEST_DIR)" --branch "$(FETCH_REF)" --source-ref "$(SOURCE_REF)" update-services: ./hack/update_apps.sh --apps "$(SERVICES)" --dest "$(SERVICES_DEST_DIR)" --branch "$(FETCH_REF)" --source-ref "$(SOURCE_REF)" --pkgdir extra @@ -186,6 +189,7 @@ template-networking: ./hack/fill_templates.sh --apps "$(NETWORKING)" --dest "$(NETWORKING_DEST_DIR)" --branch "$(BRANCH)" template-k8s: ./hack/fill_templates.sh --apps "$(K8S)" --dest "$(K8S_DEST_DIR)" --branch "$(BRANCH)" + ./hack/fill_templates.sh --apps "$(K8S_NODES)" --dest "$(K8S_NODES_DEST_DIR)" --branch "$(BRANCH)" template-services: ./hack/fill_templates.sh --apps "$(SERVICES)" --dest "$(SERVICES_DEST_DIR)" --branch "$(BRANCH)" --pkgdir extra diff --git a/content/en/docs/next/kubernetes/_include/kubernetes-nodes.md b/content/en/docs/next/kubernetes/_include/kubernetes-nodes.md new file mode 100644 index 00000000..5031ef9a --- /dev/null +++ b/content/en/docs/next/kubernetes/_include/kubernetes-nodes.md @@ -0,0 +1,7 @@ +--- +title: "Kubernetes Worker Node Pools" +linkTitle: "Worker Node Pools" +description: "Reference for KubernetesNodes, the resource that adds a pool of worker nodes to a managed Kubernetes cluster." +weight: 10 +--- + From 5c5e250d643aa6edca9943bcbf0e53fc4c81f02d Mon Sep 17 00:00:00 2001 From: Myasnikov Daniil Date: Wed, 14 Oct 2026 11:59:13 +0000 Subject: [PATCH 4/4] docs(services): generate ComputePlane and Tenant Gateway references ComputePlane is a tenant module new in v1.7 and Gateway has been one since v1.5; neither has a reference page in any docs version, so the ComputePlane values and Gateway's `tlsPassthroughListeners` have no reference. Both READMEs are generated by cozyvalues-gen and in sync with values.yaml at v1.7.0-rc.1, and both live under packages/extra like the other modules in SERVICES, so they go there with templates in the trunk. They are appended on a line of their own rather than on the SERVICES line, which sits next to the NETWORKING line and would conflict with any edit to it. Older lines have no template for them, so their patch releases skip both instead of writing pages that version never had. Assisted-By: LLM Signed-off-by: Myasnikov Daniil --- Makefile | 1 + .../docs/next/operations/services/_include/computeplane.md | 5 +++++ content/en/docs/next/operations/services/_include/gateway.md | 5 +++++ 3 files changed, 11 insertions(+) create mode 100644 content/en/docs/next/operations/services/_include/computeplane.md create mode 100644 content/en/docs/next/operations/services/_include/gateway.md diff --git a/Makefile b/Makefile index 60d04d17..6bf3d05d 100644 --- a/Makefile +++ b/Makefile @@ -78,6 +78,7 @@ K8S_NODES ?= kubernetes-nodes VMS ?= vm-disk vm-instance NETWORKING ?= vpc vpn http-cache tcp-balancer SERVICES ?= bootbox etcd ingress monitoring seaweedfs +SERVICES += computeplane gateway APPS_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/applications K8S_DEST_DIR ?= content/en/docs/$(DOC_VERSION) K8S_NODES_DEST_DIR ?= content/en/docs/$(DOC_VERSION)/kubernetes diff --git a/content/en/docs/next/operations/services/_include/computeplane.md b/content/en/docs/next/operations/services/_include/computeplane.md new file mode 100644 index 00000000..407872eb --- /dev/null +++ b/content/en/docs/next/operations/services/_include/computeplane.md @@ -0,0 +1,5 @@ +--- +title: "ComputePlane Service Reference" +linkTitle: "ComputePlane" +--- + diff --git a/content/en/docs/next/operations/services/_include/gateway.md b/content/en/docs/next/operations/services/_include/gateway.md new file mode 100644 index 00000000..69193090 --- /dev/null +++ b/content/en/docs/next/operations/services/_include/gateway.md @@ -0,0 +1,5 @@ +--- +title: "Tenant Gateway Reference" +linkTitle: "Gateway" +--- +