Skip to content

build(docs): generate reference pages for Valkey, OpenSearch, Bucket, KubernetesNodes, ComputePlane and Gateway - #756

Merged
myasnikovdaniil merged 4 commits into
mainfrom
docs/generator-new-apps-1.7
Oct 16, 2026
Merged

myasnikovdaniil merged 4 commits into
mainfrom
docs/generator-new-apps-1.7

Conversation

@myasnikovdaniil

Copy link
Copy Markdown
Contributor

Cozystack 1.7 adds Valkey and the ComputePlane module and moves worker pools to KubernetesNodes, while OpenSearch, Bucket and the tenant Gateway module never had a reference page. Their READMEs are generated by cozyvalues-gen and match values.yaml at v1.7.0-rc.1, but none of them is in the Makefile lists, so 1.7 docs would ship without them.

  • valkey, opensearch and bucket go to APPS (applications/)
  • kubernetes-nodes gets its own list and renders as kubernetes/kubernetes-nodes.md in the Kubernetes section
  • computeplane and gateway go to SERVICES on a separate SERVICES += line, because the SERVICES line is next to NETWORKING and editing both would conflict

Each app gets a front matter template in next/. release-next copies templates into v1.7/ and the promote run renders pages from the release ref, so no generated page is committed here.

Patch releases of older lines run the same lists against their own tag. Valkey and ComputePlane have no README at v1.6 and v1.5, so update_apps.sh would exit 1 on 404 and fail the docs job. For OpenSearch, Bucket, Gateway and KubernetesNodes the old touch fallback would write an empty template and a page without front matter into the old tree. Now update_apps.sh treats the _include/<app>.md template as the list of apps a version documents: app without template is skipped with a warning before anything is fetched or written, app with template but missing README still fails as before. This covers what #728 does with its trunk-only list. I didn't reuse that list because the promote run skips it, release-next registers the new version before update-all routes to it.

Bucket and Gateway pages overlap with hand-written object-storage/buckets.md and networking/gateway-api.md. I wired them anyway, say if you want them out. The KubernetesNodes commit is separate and easy to drop.

Checks: I replayed promote on a copy (release-next, then update-all RELEASE_TAG=v1.7.0 FETCH_REF=v1.7.0-rc.1), all six pages generate into v1.7/ and Hugo 0.164.0 preview and production builds pass. update-all for v1.6.5 and v1.5.5 passes with six skip warnings and adds no files, with main's script the v1.6 run fails on valkey 404. With http-cache still listed the v1.7.0 run still fails on its 404, so the guard doesn't hide a removed app. shellcheck reports nothing new and i18n checks pass.

Both this PR and the HTTPCache one must land before the v1.7.0 promote run. They merge cleanly in any order, #728 can go after the 1.7 snapshot.

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/<app>.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 <myasnikovdaniil2001@gmail.com>
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 <myasnikovdaniil2001@gmail.com>
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 <myasnikovdaniil2001@gmail.com>
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 <myasnikovdaniil2001@gmail.com>
@netlify

netlify Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

✅ Deploy Preview for cozystack ready!

Name Link
🔨 Latest commit 5c5e250
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6acf7c381f5f615ca5cc9bb2
😎 Deploy Preview https://deploy-preview-756--cozystack.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: a8906c5d-331a-4ccd-ad69-48f4a0aeb0d3
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@IvanHunters IvanHunters left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM — approve.

Walked the hack/update_apps.sh change and verified the generation paths against the actual cozystack tree, not just the diff.

What I checked:

  • All six new READMEs resolve at v1.7.0-rc.1 (the fetch ref the promote run uses): apps/{valkey,opensearch,bucket,kubernetes-nodes} and extra/{computeplane,gateway} all return 200, so promote won't 404.
  • The new _include templates live only under next/; v1.6 and v1.5 carry none of them, so the template-presence guard skips the new apps on a patch run of an older line instead of fetching a 404 or writing a front-matter-less page.
  • The guard runs on every invocation, so I checked it doesn't break existing output: the kubernetes index template (next|v1.6|v1.5/kubernetes/_include/_index.md) and monitoring's parameters.md are all present, and http-cache keeps its template in next/v1.6 — a removed app still surfaces its 404 rather than being masked. The guard is template-driven, not blanket skip-on-404.
  • kubernetes-nodes renders flat (no --index) to kubernetes/kubernetes-nodes.md, path matches.
  • Front matter: computeplane/gateway omit weight, matching the other SERVICES templates; the new apps omit aliases, correct since they had no old URL scheme to redirect from.
  • bash -n clean; shellcheck's only hit is the pre-existing SC2034 on SRC_DIR (untouched here). Live CI on the head is green (i18n-lint, DCO), Pages checks neutral.

One open question, which you already flagged: the bucket/gateway pages overlap with the hand-written object-storage/buckets.md and networking/gateway-api.md — maintainer's call whether to keep both.

Tested against main (merges cleanly).

@myasnikovdaniil
myasnikovdaniil merged commit 1fa33a6 into main Oct 16, 2026
7 of 8 checks passed
@myasnikovdaniil
myasnikovdaniil deleted the docs/generator-new-apps-1.7 branch October 16, 2026 10:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants