Repository navigation
Conversation
This repository carried two hand-maintained copies of the NebariApp field reference, docs/nebariapp-crd-reference.md and the same content again as a page in the docs site, differing only in frontmatter with no step keeping them in sync. The operator generates a third from the Go types. Both copies were pinned to operator v0.1.0-alpha.19 and had fallen behind. Nothing detects that kind of drift, which is the argument for not keeping a contract in a different repository from its implementation. The page stays, at the same slug and title, and now says where the contract and the field reference actually live: the Pack Specification and the generated api-reference.md, both in nebari-operator. Keeping the URL means existing links and the site build test still work. What this repository is for is worked examples, so the page now indexes the examples/ directories instead of restating field tables. Also updates nine inbound references that promised a complete field reference this page no longer holds: three in README.md, two in docs/auth-flow.md, and four across the site pages. Each now points at the generated reference or the specification. Item 3 of the implementation outline in nebari-dev/governance#59, the second half. The specification itself is nebari-dev/nebari-operator#187.
|
📄 Docs preview for |
3 of 18 tasks
dcmcand
added a commit
that referenced
this pull request
Oct 7, 2026
Both copies of the CRD reference carried a hand-maintained field reference that duplicates the operator's generated api-reference.md. Replace the field, status and condition tables with a pointer to the generated reference, the reconciler docs and the nebari-app chart guide, all pinned to v0.1.1, plus an index of the examples. Keep what only this repository documents: namespace opt-in, who can read the OIDC Secret, and the plain YAML, Kustomize and Helm deployment patterns. Keep the two caveats the generated reference gets wrong or omits: auth.groups is not enforced in v0.1.1 (nebari-operator#153), and iconLight/iconDark are not in the alpha.20 operator NIC v0.14.0 deploys. Repoint the nine references that promised a complete field reference on this page (README, both auth-flow copies, index, build-your-own, what-is-a-software-pack) to the generated reference. Links to the Pack Specification are left out until nebari-operator#187 publishes it. Supersedes #30. Refs nebari-dev/governance#59
Contributor
Author
|
Superseded by #45 (a26aa28), which retires the hand-maintained field and status tables and repoints the inbound references as this PR proposed. Two differences: the page keeps the namespace opt-in, OIDC Secret, and deployment-pattern sections, which have no home in the operator docs, and it holds the Pack Specification links until nebari-dev/nebari-operator#187 merges. It also keeps the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Second half of item 3 of the implementation outline in
RFD #59, accepted 2026-09-10. The
specification itself is nebari-dev/nebari-operator#187.
Refs nebari-dev/governance#59
What I found
RFD #59 §6 says the Pack Specification should live with the operator so the contract and its
implementation version together, and calls the copy here stale. It is worse than that.
This repository carried two hand-maintained copies of the same 17.8KB field reference:
docs/nebariapp-crd-reference.mddocs/site/src/content/docs/nebariapp-crd-reference.mdThey differ only in frontmatter, one using an H1 and the other Starlight's
title:. There isno script or CI step keeping them in step, so they were being edited by hand in parallel. The
operator generates a third copy from the Go types via
make docs.Both copies declare
**Operator version this doc tracks:** v0.1.0-alpha.19and had fallenbehind. Nothing detects that, which is the whole argument for not keeping a contract in a
different repository from the code that enforces it.
What changed
The page stays, at the same slug and title, and now says where the contract and the field
reference live. Keeping the URL matters: it is a published page on the docs site, it is
linked from four other site pages, and
docs/site/test/build.test.tsasserts it exists withthat exact title. Deleting it would have changed the published site structure and broken the
test for no benefit.
The field tables and status/condition tables are gone. Both are maintained better elsewhere:
fields in the operator's generated
api-reference.md, reconciler behavior in the operator'sdocs/reconcilers/.What the page indexes instead is what this repository is actually for, worked examples:
vanilla-yaml,basic-nginx,kustomize-nginx,wrap-existing-chart, andauth-fastapi.Nine inbound references also updated
Every place that promised a complete field reference this page no longer holds:
README.md(3)docs/auth-flow.md(2)docs/site/.../build-your-own.mddocs/site/.../index.mddocs/site/.../what-is-a-software-pack.mddocs/site/.../auth-flow.mdEach now points at the generated reference or the specification. Leaving them would have been
worse than the original problem: links promising a full reference and landing on a stub.
Testing
Using the toolchain CI uses,
bun:bun install --frozen-lockfile && bun run buildsucceeds. All 8 pages build, including/nebariapp-crd-reference/index.html.bun test test: 10 pass, 1 fail. The failure isNebari branding: magenta accent, Space Grotesk headings, footer, portal logo link,asserting
data-nebari-footeron the home page. It fails identically on pristinemainwith my changes stashed, so it is pre-existing and not something this PR introduces. Worth
someone looking at separately, since it means the branding test has been red.
lint.yamlvalidates Helm and kustomize manifests only, and this change is markdown.Reviewer call
I took the least destructive reading of "retire the duplicate": keep the page and its URL,
strip the duplicated content, point at the source of truth. The alternative is deleting the
page, updating the sidebar and the test, and accepting a changed site structure. If you would
rather the page go away entirely, say so and I will do that instead.