Skip to content

Update static site generator to Astro and deploy to cloudflare pages - #40

Merged
jbouder merged 17 commits into
mainfrom
update_ssg_and_deployment
Aug 20, 2026
Merged

Update static site generator to Astro and deploy to cloudflare pages#40
jbouder merged 17 commits into
mainfrom
update_ssg_and_deployment

Conversation

@andrewfulton9

@andrewfulton9 andrewfulton9 commented Jul 2, 2026

Copy link
Copy Markdown
Contributor

Reference Issues or PRs

closes #37
closes #27

What does this implement/fix?

Put a x in the boxes that apply

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds a feature)
  • Breaking change (fix or feature that would cause existing features not to work as expected)
  • Documentation Update
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Build related changes
  • Other (please describe):

Testing

  • Did you test the pull request locally?
  • Did you add new tests?

Documentation

Access-centered content checklist

Text styling

  • The content is written with plain language (where relevant).
  • If there are headers, they use the proper header tags (with only one level-one header: H1 or # in markdown).
  • All links describe where they link to (for example, check the Nebari website).
  • This content adheres to the Nebari style guides.

Non-text content

  • All content is represented as text (for example, images need alt text, and videos need captions or descriptive transcripts).
  • If there are emojis, there are not more than three in a row.
  • Don't use flashing GIFs or videos.
  • If the content were to be read as plain text, it still makes sense, and no information is missing.

Any other comments?

Removes Docusaurus 3.5.2 configuration and build artifacts, replaces with
Astro 7.0.2 scaffolding including Starlight, React, and Tailwind. Sets up
package.json, tsconfig.json, and .gitignore for Astro development with
Node >=22. Logo and favicon preserved for later integration.
Adds astro.config.mjs with Starlight integration, content.config.ts,
the intro index.md page, logo/favicon assets, and installs playwright
for mermaid/rehype-mermaid rendering support. Build verified: exits 0,
dist/ created with index.html.
Replace stale Docusaurus instructions with correct Astro + Starlight
commands, Node >= 22 requirement, and CI workflow reference.
@andrewfulton9 andrewfulton9 changed the title Update ssg and deployment Update static site generator to Astro and deploy to cloudflare pages Jul 2, 2026
andrewfulton9 and others added 5 commits July 14, 2026 10:27
Resolve conflicts from the Docusaurus -> Astro/Starlight migration
landing alongside main's nebari-nebi-pack -> nebi-pack repo rename:

- docs/docusaurus.config.ts: keep deleted (Docusaurus is gone; main's
  edits to it were only the repo rename)
- docs/package.json, docs/package-lock.json: keep the Astro dependency
  set, and carry main's rename of the docs package to nebi-pack-docs

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The docs workflows added on this branch used floating tags, unlike the
rest of the repo which pins to SHAs with a version comment. Pin them and
bring every action up to its latest release:

- actions/checkout          v4 / v6.0.2 -> v7.0.1
- actions/setup-node        v4          -> v7.0.0
- cloudflare/wrangler-action v3         -> v4.0.0
- thollander/actions-comment-pull-request v3 -> v3.0.1
- azure/setup-helm          v4.3.1      -> v5.0.1
- actions/add-to-project    v1.0.2      -> v2.0.0

The major bumps are safe for this repo: checkout v7 only blocks fork-PR
checkout on pull_request_target/workflow_run (unused here), setup-node v7
and setup-helm v5 are ESM/node24 runtime moves with unchanged inputs,
wrangler-action v4 only changes the default Wrangler to v4 and keeps the
pages-deployment-alias-url output, and add-to-project v2 is deps-only.

Also fix the build warning that @astrojs/sitemap was skipping sitemap
generation whenever SITE was unset, by defaulting site to the production
URL. CI still overrides it for PR preview aliases.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The site was a single placeholder page. Adopt the structure the chat-pack
docs use (Getting Started / Reference sidebar groups, shared @Nebari
mermaid theme, /-rooted internal links) and write the four pages that
have a real nebi-pack analogue:

- getting-started  install on a Nebari cluster; what the single required
                   value derives, and why secrets are generated by a Job
- helm-values      full values reference, including what each empty
                   default derives and the orgCABundle contract
- architecture     routes vs publicRoutes, gateway-enforced auth,
                   split-horizon discovery, and the RWO/in-memory-queue
                   constraints behind Recreate + replicaCount 1
- local-development  the ctlptl/k3d/Tilt loop, and what it cannot test

Skipped chat-pack's agents/tools/branding/api-reference pages, which have
no counterpart here.

Set the site URL to the pack-portal convention while here: the workflow
already computes SITE/BASE the chat-pack way (PACK_SLUG=nebi-pack), so
default `site` to the production origin. The sitemap now emits canonical
https://packs.nebari.dev/nebi-pack/ URLs instead of being skipped.

All derived values quoted in these pages were verified against
`helm template` output rather than read off the templates.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
The pack dashboard's generate_routes.py only adds a
packs.nebari.dev/<repo-name>/ route for tracked packs whose metadata sets
docs_site: true. nebari-dev/nebi-pack is already in tracked-packs.yaml,
but without this field the Cloudflare Pages deploy is unreachable at the
portal URL the README and docs site both advertise.

Verified by running the dashboard's own build_routes() against this file:
with docs_site it yields https://nebi-pack.pages.dev (matching the
--project-name the docs workflow deploys to), without it the slug is
absent from the route table entirely.

Also fill in three fields that were left commented out and are now
determinable:

- nebariapp_integration: full  -- the chart emits a NebariApp covering
  routing, Keycloak auth with client provisioning and token exchange,
  and a landing-page tile
- scope.standalone-supported: true  -- nebariapp.enabled=false installs
  without the operator
- links.docs  -- the routed docs site

Left `description` unset: the dashboard sources that column from the
GitHub repo description, which is already set.

Validated with check-jsonschema against the current upstream schema.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@jbouder
jbouder merged commit 22fa04b into main Aug 20, 2026
1 of 3 checks passed
@jbouder
jbouder deleted the update_ssg_and_deployment branch August 20, 2026 11:56
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.

[DOC] - Convert docs engine to Astro

3 participants