Problem
Pages under content/en/docs/*/applications/ are generated from the upstream chart READMEs by make update-apps (hack/update_apps.sh), and each carries the banner "Autogenerated content. Don't edit this file directly; edit sources instead." Nothing enforces that.
A hand-edit to one of these pages looks perfectly fine in review — it renders, it reads well, and CI is green. It is silently wrong in two ways: the next make update-apps deletes it, and, more insidiously, it hides the fact that the page has drifted from its source. The Harbor page is a live example: it documents resourcesPreset defaults as small / nano, while the chart's actual defaults are t1.small / t1.nano (the bare names survive only as deprecated aliases). An operator copying a value off that page gets one the chart no longer accepts. Regenerating fixes it; nothing tells us to regenerate.
Proposal
Add a CI job that runs make update-apps (and the sibling update-* targets) and fails if the working tree comes back dirty. That is the whole check: if the committed pages do not match what the generator produces, the build is red.
It catches both failure modes at once — a hand-edit to a generated page, and generated pages left stale after the upstream chart changed.
Problem
Pages under
content/en/docs/*/applications/are generated from the upstream chart READMEs bymake update-apps(hack/update_apps.sh), and each carries the banner "Autogenerated content. Don't edit this file directly; edit sources instead." Nothing enforces that.A hand-edit to one of these pages looks perfectly fine in review — it renders, it reads well, and CI is green. It is silently wrong in two ways: the next
make update-appsdeletes it, and, more insidiously, it hides the fact that the page has drifted from its source. The Harbor page is a live example: it documentsresourcesPresetdefaults assmall/nano, while the chart's actual defaults aret1.small/t1.nano(the bare names survive only as deprecated aliases). An operator copying a value off that page gets one the chart no longer accepts. Regenerating fixes it; nothing tells us to regenerate.Proposal
Add a CI job that runs
make update-apps(and the siblingupdate-*targets) and fails if the working tree comes back dirty. That is the whole check: if the committed pages do not match what the generator produces, the build is red.It catches both failure modes at once — a hand-edit to a generated page, and generated pages left stale after the upstream chart changed.