Skip to content

docs: move the operator guides out of docs/ to where readers find them - #3780

Open
myasnikovdaniil wants to merge 1 commit into
mainfrom
docs/migrate-guides-to-website
Open

docs: move the operator guides out of docs/ to where readers find them#3780
myasnikovdaniil wants to merge 1 commit into
mainfrom
docs/migrate-guides-to-website

Conversation

@myasnikovdaniil

@myasnikovdaniil myasnikovdaniil commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What this PR does

Five documents under docs/ were operator facing guides written alongside the feature PRs that added the code, and left in the source tree where no user looks. They are on the website now, so this deletes them here and repoints every reference.

docs/oidc-tenant.md          -> kubernetes/oidc-authentication
docs/oidc-grafana.md         -> operations/services/monitoring/oidc-authentication
docs/gpu-vgpu.md             -> virtualization/vgpu
                              + operations/troubleshooting/gpu-operator-host-driver
docs/vm-external-vlan.md     -> networking/vm-external-vlan
docs/hubble-observability.md -> networking/hubble

docs/vm-external-vlan.md needed splitting, not moving. Its "Staging the reference CNI plugins" section is a contract, hack/cni-plugins-staging-contract.bats greps six literal sentences out of it and asserts them against the multus Dockerfile, the daemonset manifest and the platform values. That half is package documentation so it moves verbatim into a new packages/system/multus/README.md and the suite reads it there, the operator guide goes to the website. The bats messages name the README now, so a future failure points at the file that has to change.

References repointed in nine hand maintained files, two @param blocks, four template comments and three test comments. The seven generated files come from make generate with cozyvalues-gen v1.6.0, the version pinned in .github/workflows/pre-commit.yml, and each of them changed exactly one line.

Two changelog links in docs/changelogs/v1.6.0.md repointed as well. The wording is untouched, only the location of the documents it names has changed.

Two bits of process framing dropped on the way past, per #3777: bundles/system.yaml said GrafanaAdmin promotion was "out of scope for Phase 1" when it is simply not implemented, and the chainsaw suite pointed at "docs/oidc-tenant.md -> Phase 1".

Tests: 10 cni-plugins contract, 205 kubernetes chart, 11 multus chart, 9 monitoring chart, md-no-hardwrap.

Downstream repositories

Walked the rest of the trigger map against the diff. No provider follow-up: both values.schema.json diffs are one description string each, with no field added, removed or renamed, no enum, no default, and no kind, plural or release.prefix change. packages/core/platform/values.yaml changed in a comment only and no key, so the hand written platform-package table on the site is unaffected.

Please merge after the website PRs, the @param URLs only resolve once those pages deploy.

Release note

docs: operator guides for tenant Kubernetes OIDC, Grafana OIDC, NVIDIA vGPU, VM external VLAN and Hubble now live on cozystack.io instead of the docs/ directory of this repository, and in-repo references point there. The CNI plugin staging contract that shared the VLAN guide moved to packages/system/multus/README.md.

Summary by CodeRabbit

  • Documentation
    • Updated configuration and test references to link to the published Cozystack documentation.
    • Added Multus guidance covering staged CNI plugins, configuration, troubleshooting, and rollout behavior.
    • Removed outdated local guides for GPU/vGPU, Hubble observability, OIDC authentication, and external VM VLANs.
    • Clarified that server-level Grafana administrator promotion is not currently supported.

Five documents in docs/ were operator-facing guides written alongside
the feature PRs that added the code, and left in the source tree where
no user looks. They now live on the website (cozystack/website), so
delete them here and repoint every reference.

Moved to the website:

  docs/oidc-tenant.md          -> kubernetes/oidc-authentication
  docs/oidc-grafana.md         -> operations/services/monitoring/oidc-authentication
  docs/gpu-vgpu.md             -> virtualization/vgpu
                                + operations/troubleshooting/gpu-operator-host-driver
  docs/vm-external-vlan.md     -> networking/vm-external-vlan
  docs/hubble-observability.md -> networking/hubble

docs/vm-external-vlan.md needed splitting rather than moving. Its
"Staging the reference CNI plugins" section is a contract:
hack/cni-plugins-staging-contract.bats greps six literal sentences out
of it and asserts them against the multus Dockerfile, the daemonset
manifest and the platform values. That half is package documentation, so
it moves verbatim into a new packages/system/multus/README.md and the
suite reads it there; the operator guide goes to the website. The bats
messages now name the README, so a future failure points at the file
that has to change.

References repointed to https://cozystack.io/docs/v1.6/... in nine
hand-maintained files (two values.yaml @PARAM blocks, four template
comments, three test comments). The seven generated files -- both
values.schema.json, both README.md, the kubernetes Go types and both
cozyrds -- come from `make generate` with cozyvalues-gen v1.6.0, the
version pinned in .github/workflows/pre-commit.yml; each changed exactly
one line.

Two changelog links in v1.6.0.md repointed as well. The wording is
untouched: only the location of the documents it names has changed.

Two pieces of process framing dropped on the way past, per the
convention added in docs/agents/overview.md: system.yaml said GrafanaAdmin
promotion was "out of scope for Phase 1" (it is simply not implemented),
and the chainsaw suite pointed at "docs/oidc-tenant.md -> Phase 1".

Assisted-By: Claude <noreply@anthropic.com>
Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: fa216f71-a660-4324-8b43-b18d9447c7cb

📥 Commits

Reviewing files that changed from the base of the PR and between e944619 and 546281e.

📒 Files selected for processing (26)
  • api/apps/v1alpha1/kubernetes/types.go
  • docs/changelogs/v1.6.0.md
  • docs/gpu-vgpu.md
  • docs/hubble-observability.md
  • docs/oidc-grafana.md
  • docs/oidc-tenant.md
  • docs/vm-external-vlan.md
  • hack/cni-plugins-staging-contract.bats
  • hack/e2e-apps/monitoring-oidc-customconfig.bats
  • hack/e2e-apps/monitoring-oidc-system.bats
  • hack/e2e-chainsaw/kubernetes-oidc-system/chainsaw-test.yaml
  • packages/apps/kubernetes/README.md
  • packages/apps/kubernetes/templates/oidc-authn-config.yaml
  • packages/apps/kubernetes/values.schema.json
  • packages/apps/kubernetes/values.yaml
  • packages/core/platform/templates/bundles/iaas.yaml
  • packages/core/platform/templates/bundles/system.yaml
  • packages/core/platform/values.yaml
  • packages/extra/monitoring/README.md
  • packages/extra/monitoring/values.schema.json
  • packages/extra/monitoring/values.yaml
  • packages/system/kubernetes-rd/cozyrds/kubernetes.yaml
  • packages/system/monitoring-rd/cozyrds/monitoring.yaml
  • packages/system/monitoring/templates/grafana/oidc-keycloak.yaml
  • packages/system/multus/README.md
  • packages/system/multus/images/multus-cni/Dockerfile
💤 Files with no reviewable changes (5)
  • docs/vm-external-vlan.md
  • docs/oidc-grafana.md
  • docs/gpu-vgpu.md
  • docs/hubble-observability.md
  • docs/oidc-tenant.md

📝 Walkthrough

Walkthrough

The change removes obsolete repository guides, adds Multus operational documentation, and updates OIDC, GPU/vGPU, and VLAN references to published or package-local documentation.

Changes

Documentation migration

Layer / File(s) Summary
Published guide references
api/apps/v1alpha1/kubernetes/types.go, docs/changelogs/v1.6.0.md, hack/e2e-..., packages/apps/kubernetes/..., packages/core/platform/..., packages/extra/monitoring/..., packages/system/...
OIDC and GPU/vGPU references now use published Cozystack documentation URLs. The monitoring comment states that server-level GrafanaAdmin promotion is not implemented.
Multus operational guide
packages/system/multus/README.md
Added documentation for staged CNI plugins, platform differences, configuration, reconciliation, troubleshooting, failure behavior, and rollout effects.
Multus reference and contract updates
hack/cni-plugins-staging-contract.bats, packages/core/platform/values.yaml, packages/system/multus/images/multus-cni/Dockerfile
Updated contract messages, configuration comments, and documentation assertions to reference the Multus README. Obsolete GPU, Hubble, OIDC, tenant, and VLAN guides were removed.

Estimated code review effort: 2 (Simple) | ~10 minutes

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: moving operator guides out of the repository docs directory and updating their locations.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/migrate-guides-to-website

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Trivy (0.72.0)

Trivy execution failed: 2026-08-12T14:43:52Z FATAL Fatal error run error: fs scan error: scan error: scan failed: failed analysis: post analysis error: post analysis error: ansible scan error: fs filter error: fs filter error: walk error range error: stat api/apps/v1alpha1/.golangci.yml: no such file or directory: range error: stat api/apps/v1alpha1/.golangci.yml: no such file or directory


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.

@github-actions github-actions Bot added area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/documentation Categorizes issue or PR as related to documentation size/XXL This PR changes 1000+ lines, ignoring generated files labels Aug 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/uncategorized PR auto-labeler could not map title scope to a known area/*; please review kind/documentation Categorizes issue or PR as related to documentation size/XXL This PR changes 1000+ lines, ignoring generated files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant