Skip to content

docs: write the pack documentation - #26

Merged
jbouder merged 3 commits into
mainfrom
docs/pack-content
Aug 24, 2026
Merged

docs: write the pack documentation#26
jbouder merged 3 commits into
mainfrom
docs/pack-content

Conversation

@jbouder

@jbouder jbouder commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Fills the docs scaffold from #25 with real content, structured the way apps-pack does it.

Pages

Getting Started

Page Covers
Introduction what the stack is, what ships, the two extension points
Getting started install, what gets deployed, reaching Grafana, the push-endpoint table, uninstall
Deploying on Nebari the Argo CD Application manifest and what each part is actually doing
Nebari integration NebariApp, Keycloak OAuth, group→role mapping, landing-page tile, additionalServices
Local development k3d + Tilt, working on the chart, testing distributed Mimir locally

Guides

Page Covers
Mimir deployment modes monolithic vs distributed, the failure mode behind #22, cloud-bucket config
OpenTelemetry wiring the override ConfigMap, the rollout hook, disabling, uninstall behavior, troubleshooting
Dashboards what ships, the contributor contract, folder setup, restricting discovery

Reference

Page Covers
Configuration values this chart owns, subchart pass-through map, subchart defaults worth knowing
Architecture components, data flow, storage topology, provisioning, auth

Notes on the content

Everything is derived from the chart — values.yaml, the templates, _helpers.tpl, and examples/argocd-application.yaml — rather than paraphrased from the README, so subchart versions, image tags, PVC sizes, and defaults match what actually renders.

Three things the README states in passing are given room to explain themselves, since they are the parts most likely to bite someone:

Also adds an editLink.baseUrl so every page gets an "Edit page" link, matching apps-pack.

Verification

npm test               10 passed
npm run build          11 pages, pagefind index built
check-links.sh         LINKS_OK at BASE=/ and BASE=/lgtm-pack/

🤖 Generated with Claude Code

Fills the Astro + Starlight scaffold with real content, following the
structure apps-pack uses: a Getting Started track, task guides, and a
reference section.

Nine new pages plus a rewritten introduction:

  Getting Started
    getting-started       install, what gets deployed, push endpoints
    deployment            Argo CD Application, and why each syncOption
                          is there (managedNamespaceMetadata is what
                          opts the namespace into nebari-operator;
                          ServerSideApply avoids the 256KB annotation
                          limit on dashboard ConfigMaps)
    nebari-integration    NebariApp, Keycloak OAuth, group-to-role
                          mapping, landing-page tile, additionalServices
    local-development     k3d + Tilt, and the two Tiltfile guardrails

  Guides
    mimir-modes           monolithic vs distributed, why filesystem
                          storage is silently invalid distributed
                          (issue #22), cloud-bucket config
    otel-collector        how the override ConfigMap reaches NIC's
                          collector, why it is a separate ConfigMap
                          rather than a patch (argo-cd#7478), and the
                          rollout hook's narrow RBAC
    dashboards            what ships, and the contract for another pack
                          to contribute one

  Reference
    configuration         values this chart owns, subchart pass-through
                          map, and the subchart defaults worth knowing
    architecture          components, data flow, storage topology, and
                          the hardening that explains the unusual Mimir
                          config paths

Content is derived from the chart itself - values.yaml, the templates,
the helpers, and examples/argocd-application.yaml - rather than
restating the README, so version numbers and defaults match what the
chart actually renders.

Also adds an editLink baseUrl so every page carries an "Edit page" link,
matching apps-pack.
@github-actions

Copy link
Copy Markdown

📄 Docs preview for docs/pack-content:
https://docs-pack-content.lgtm-pack.pages.dev

jbouder and others added 2 commits August 20, 2026 12:26
Matches the page name the other pack docs use for the same slot
(mlflow-pack, superset-pack, rayserve-pack). The /deployment/ slug is
unchanged, so no links move.
Accuracy pass over the pack docs, verified against `helm template` output
for both Mimir modes and against NIC's collector values.

Resource names: the chart's fullname helper yields
`<release>-nebari-lgtm-pack-*`, since the release name `lgtm-pack` does not
contain the chart name. Five places assumed `<release>-<suffix>`, so the
datasource ConfigMap, NebariApp, OIDC Secret, and rollout Job commands all
named resources that do not exist.

OTel troubleshooting: `get jobs -l app.kubernetes.io/component=otel-rollout`
matched nothing — that label is on the Job's pod template, not the Job. Also
note `hook-delete-policy: hook-succeeded` removes the Job on success, so an
empty result is the healthy state.

Dashboards: the Kubernetes views are not rendered into the release. The
grafana subchart emits an empty ConfigMap and a `download-dashboards` init
container fetches them from grafana.com at pod startup, so they are absent
without egress. Their data also depends on the collector's cAdvisor/kubelet
scrape jobs, and this pack ships no scraper at all — spell out that the
folder is provisioned but empty on a standalone install.

Retention: Loki has none configured, so logs fill the 10Gi PVC — the same
unbounded-growth mode as issue #22, previously listed only as "upstream
default". Tempo's upstream default is 24h, worth stating outright.

Also: caveat that `managedNamespaceMetadata` only labels a namespace its own
Application creates (NIC's collector app creates `monitoring`); note
`loki-canary` and the other non-release-prefixed subchart resources; note
Grafana's persistence is off; drop the claim that an unresolved datasource
uid renders empty rather than erroring; fix a heading; and repoint the loki
and mimir-distributed values links, which now land on relocation stubs.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RHXnjMGsnSqmgxnx99Pqj6
@jbouder
jbouder merged commit 7d69d38 into main Aug 24, 2026
4 checks passed
@jbouder
jbouder deleted the docs/pack-content branch August 24, 2026 11:45
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