Skip to content

docs: carry the operator guide edits made after the import over to next/ - #754

Merged
myasnikovdaniil merged 3 commits into
mainfrom
docs/port-operator-guide-updates
Oct 21, 2026
Merged

myasnikovdaniil merged 3 commits into
mainfrom
docs/port-operator-guide-updates

Conversation

@myasnikovdaniil

Copy link
Copy Markdown
Contributor

Guides imported in #648 kept receiving edits in docs/ of cozystack repo after the copy was made, so pages here lag behind. This carries those edits over to next/ only, the code they describe is in release-1.7 and not on release-1.6.

One of them fixes a wrong claim: vgpu page said a hand-written cozystack.gpu-operator or cozystack.kubevirt Package CR takes precedence over the bundle render, but the next render replaces it, so both names have to go to bundles.disabledPackages.

cozystack/cozystack#3780 deletes the originals in docs/, so this has to land first.

The guides imported from the cozystack repository went on receiving
edits in docs/ after the copy was made, so these pages still describe
the platform as it was then. One of them says the opposite of what the
platform does now: a hand-written Package CR does not override the
bundle render, the next render replaces it.

Carry those edits over. They go to next/ only, because the code they
describe is in the next release and not on release-1.6.

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 13e1c8e
🔍 Latest deploy log https://app.netlify.com/projects/cozystack/deploys/6ad8645b85264c0f247b7f10
😎 Deploy Preview https://deploy-preview-754--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: ed9ef5dd-94eb-4776-bbf3-b3c43776a54a
  • 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.

Signed-off-by: Myasnikov Daniil <myasnikovdaniil2001@gmail.com>

@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.

Verified the technical claims against the chart sources in cozystack/cozystack rather than the operator guide:

  • kubernetes/oidc-authentication.md — the new "Aggregated API servers" section matches packages/apps/kubernetes/templates/cluster.yaml: the version table (--requestheader-uid-headers=X-Remote-Uid only once the effective minor is ≥ 1.33), "the chart never renders --feature-gates itself", the three conditions that suppress the render (effective ≤ v1.32, a quoted --emulated-version, two kube --emulated-version entries), and every refusal case (empty list element, a trailing valueless flag swallowing --authentication-config, a patch-level --emulated-version, the --oidc-* / --authentication-config collisions).
  • networking/vm-external-vlan.md — netplanDhcp: true does render en*/eth* DHCP under the cozy-en / cozy-eth netplan IDs, so 10-netplan-cozy-en.network sorts before (and shadows) a per-interface file. The netplanDhcp-off guidance is correct.
  • virtualization/vgpu.md — the precedence correction is right: the iaas bundle re-emits cozystack.kubevirt and cozystack.gpu-operator on every render and replaces a hand-written Package CR, so the name has to go into bundles.disabledPackages. The defaults gating (replaceDefaults, vgpuDeviceManager.enabled) matches the bundle template.
  • The authentication.oidc.realmName path (default cozy) exists as documented.

One non-blocking note: the "Aggregated API servers" section is dense — a few of the longest sentences would scan better split up. Not a merge blocker.

@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. Faithful port of the operator-guide edits into next/, and the technical claims hold up when checked against the code rather than against the docs they describe.

What I verified independently:

  • RemoteRequestHeaderUID timeline. The published Kubernetes feature-gate pages still list this gate as Alpha/1.32, which would contradict the page. The authoritative source is VersionedSpecs in staging/src/k8s.io/apiserver/pkg/features/kube_features.go, and on release-1.33 through release-1.35 and master it reads 1.32 Alpha default=false, 1.33 Beta default=true. So "beta and on by default from v1.33", the v1.32 alpha-and-off row, and "no flag on v1.31" are all correct. The website docs are simply ahead of the k8s doc tables here.
  • KubeVirt #16890. The v1.9.0 changelog carries it ("PCI device plugin now supports passing of pre-setup VF (vGPU)"), and kubevirt-operator on release-1.7 pins virt-operator:v1.9.0, so "v1.9.0 or newer, which is the release the platform bundles" checks out.
  • vGPU precedence fix. The corrected claim (a hand-written cozystack.gpu-operator / cozystack.kubevirt Package CR does not win over the bundle and has to go into bundles.disabledPackages) matches the iaas bundle's render behaviour.
  • Config keys exist. authentication.oidc.realmName (default cozy in packages/core/platform/values.yaml), netplanDhcp and the cozy-en / cozy-eth netplan IDs, gpu.replaceDefaults and gpu.vgpuDeviceManager.enabled (both default false), and --requestheader-uid-headers in packages/apps/kubernetes/templates/cluster.yaml.
  • Links and anchors. #gotchas and #profile-assignment-sr-iov-path resolve, and the reworked vGPU cross-reference points at the caution block that actually explains why the mdev table is empty by default, which reads better than the old "note below".

No blocking findings and nothing to nit. One sequencing note, already in the PR description: cozystack/cozystack#3780 removes the originals under docs/, so this needs to land first.

@myasnikovdaniil
myasnikovdaniil merged commit 37d0c05 into main Oct 21, 2026
7 of 8 checks passed
@myasnikovdaniil
myasnikovdaniil deleted the docs/port-operator-guide-updates branch October 21, 2026 07:32
myasnikovdaniil added a commit to cozystack/cozystack that referenced this pull request Oct 21, 2026
#3780)

## 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 the `@param` blocks, template comments and test
comments that named the guides. The generated files come from `make
generate` with cozyvalues-gen v1.7.0, the version pinned in
`.github/workflows/pre-commit.yml`. Where a reference points at text
that exists only on `next/` of the website (the aggregated API servers
section of the tenant OIDC guide), the comment names the page and the
section instead of a `v1.6` URL, which would not contain it.

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.

One bit 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.

Tests: 10 cni-plugins contract, 47 install-wait, 346 kubernetes chart,
22 multus chart, 301 monitoring chart, rd-presets-check.

### Downstream repositories

- [x] [cozystack/website](https://github.com/cozystack/website) -
follow-up: cozystack/website#648 (the four guides),
cozystack/website#754 (edits made to the originals in `docs/` after the
import), cozystack/website#647 (grafana guide made reachable in v1.6),
cozystack/website#596 (tenant kubectl guide, rebased)

Walked the rest of the trigger map against the diff. No provider
follow-up: the kubernetes `values.schema.json` diff is two `description`
strings and the monitoring one is one, 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 cozystack/website#754 and cozystack/website#647. The
`@param` URLs only resolve once those pages deploy, and
cozystack/website#754 carries the edits made to the guides since the
import, which deleting them here would lose.

### Release note

```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.
```


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## 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.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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