Repository navigation
docs: add the documentation site - #491
Open
LeeroyHannigan wants to merge 1 commit into
Open
LeeroyHannigan wants to merge 1 commit into
LeeroyHannigan wants to merge 1 commit into
Conversation
LeeroyHannigan
requested review from
amrith,
c33howard,
jcshepherd,
pdf-amzn,
robinnsc and
yesyayen
as code owners
October 24, 2026 06:00
LeeroyHannigan
force-pushed
the
feat/docs-site
branch
from
October 30, 2026 09:28
ceb6a63 to
eb8e221
Compare
Add a Docusaurus 3.10 site under website/ that builds from docs/ and publishes to GitHub Pages. The Markdown files stay where they are; the navigation is defined in website/sidebars.ts over the existing paths, with a two digit ordering prefix stripped from ids and URLs and four digit ADR and RFC numbers kept. Sections: Getting started (a new entry page, docs/start.md, that runs the development image, makes the first requests and connects an SDK, then an Install group: development image, Docker Compose, Linux, macOS, quick start from source, full walkthrough from source), Guides (including a new docs/storage-backends.md overview of the four backends), Reference (differences, limits, a link to the configuration reference, troubleshooting), Contributing (developer guide, test strategy, local database setup notes, adding a backend) and Architecture (architecture and design guides, component designs, decision records, RFCs). Project ledgers, templates, build inputs, the design directory index and the high availability draft are excluded from the site. A landing page states what ExtendDB is, shows the two container starts, and links each section. Theme tokens match extenddb.org. Search is a local index over the user-facing pages; the Architecture section is browsed from its sidebar. A remark plugin removes the per-file License section and the NOTICE blockquote at build time; the footer carries the licence and trademark statement once. The source files are unchanged on GitHub. Code blocks use two Prism themes defined in website/src/prism/themes.ts whose token colours are at least 4.5:1 against the block background in light and dark mode. Body links are underlined. Tables wrap at narrow widths and scroll inside their own box when a word is too long. The build fails on a broken link, a missing anchor or a Markdown parse error, and runs as a check on every pull request touching docs/, website/ or Cargo.toml. A push to main publishes. The repository variable DOCS_CUSTOM_DOMAIN selects the hosting: unset builds for extenddb.github.io/extenddb/, a domain builds for its root and writes a CNAME file. Content changes in docs/, made for the site and kept in the files: - Links that pointed at files outside docs/ (LICENSE, NOTICE, README, CODEOWNERS, source files) use the GitHub URL. Three dead links fixed. - Product name written ExtendDB in prose and headings on the user-facing pages; binary, container, file and configuration names stay lowercase. - Page titles equal their navigation labels. Design document titles read "Component design: X". ADR titles carry the number of their file; the ADR index lists 0017 and 0018 with the status their records state. - The MongoDB setup page gives the server port as 18443, matching every other page; the quick start clones the public repository URL and waits for the table before writing; the walkthrough names Cassandra with the other backends, orders the first requests put before delete, and states in section 5 how the endpoint, certificate and credentials differ for the development image, Compose and a source build. - The Docker Compose page fetches docker-compose.yml before starting, lists the variables the file reads with their defaults, and says what `docker compose ps -a` shows while the server starts. - Admin, deployment, troubleshooting, security model and usage guide pages agree on the backend list, TLS being always on, the backup operations that exist and the PartiQL status. - Internal ticket identifiers, draft markers and "last updated" lines removed from user-facing pages; dashes replaced with plain punctuation on those pages. - Front matter descriptions on every page that appears as a card, so the section index pages show a sentence rather than metadata.
LeeroyHannigan
force-pushed
the
feat/docs-site
branch
from
October 31, 2026 14:47
eb8e221 to
34bea38
Compare
This branch has not been deployed
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.
Summary
Adds a documentation site built from
docs/with Docusaurus 3.10, underwebsite/. The Markdown files stay where they are and keep rendering on GitHub; the site adds navigation, search, a landing page and a theme matching extenddb.org.Today the "Documentation" link on extenddb.org,
llms.txtand the repository'sindex.htmlsend readers to the GitHub directory listing ofdocs/(68 files, about 160,000 words, with ledgers and drafts beside Getting Started).What the site contains
docs/start.md) that runs the development image, makes the first requests and connects an SDK, then an Install group (development image, Docker Compose, Linux, macOS, quick start from source, full walkthrough from source).docs/storage-backends.md), and the event ticketing demo.Excluded from the site: the backlog, todo index and technical debt ledgers, templates, the design directory index, the high availability draft, demo assets and build inputs.
How it builds and publishes
.github/workflows/docs-site.ymlbuilds the site on every pull request that touchesdocs/,website/,Cargo.tomlor the workflow. The build fails on a broken link, a missing anchor or a Markdown parse error. A push tomainpublishes to GitHub Pages. The repository variableDOCS_CUSTOM_DOMAINselects the hosting: unset builds forextenddb.github.io/extenddb/; set todocs.extenddb.orgit builds for the root and writes aCNAMEfile.A remark plugin removes each file's License section and NOTICE blockquote at build time; the footer carries the licence and trademark statement once. Code blocks use two Prism themes (
website/src/prism/themes.ts) whose token colours are at least 4.5:1 against the block background in both modes. Search is a local index over the user-facing pages.Content changes in docs/
Made for the site and kept in the files so GitHub readers see them too:
docs/use the GitHub URL; three dead links fixed.wait table-existsbefore the first write. Full walkthrough: Cassandra listed with the other backends; first requests put before delete; section 5 states how endpoint, certificate and credentials differ for the development image, Compose and a source build, and namesAWS_ENDPOINT_URL_DYNAMODB.docker-compose.yml, a table of the variables the file reads with their defaults, whatdocker compose ps -ashows while the server starts.Verification
main./start/,/dev-image/and/local-dev-docker-compose/run in order in a fresh directory with fresh containers; exit 0 throughout, output matching the page where the page shows output, and the table landing on the local container./start/,/getting-started/,/manuals/usage-guide/,/local-dev-docker-compose/and/differences-from-dynamodb/in light and dark mode: 0 violations.crates/bin/Cargo.toml,crates/bin/src/main.rs, the three Dockerfiles,docker-compose.ymland the README.streams,TTL,IAM policyandPartiQLreturns a guide first.After merge (repository settings, not in this PR)
docs.extenddb.orgpointing atextenddb.github.io, then set the repository variableDOCS_CUSTOM_DOMAIN=docs.extenddb.org.llms.txtat the new site.Follow-ups filed separately
Merging the eight installation pages, finishing the high availability design, a configuration reference generated from
extenddb.sample.toml, the image upgrade path in the upgrade manual, the dash sweep across the architecture documents, a feature status table owned by the Differences page, and aligning the 48 per-file License sections andNOTICE.mdwith the README's affiliation statement.Rebase on #412
Rebased onto
mainat1d0d8f4a2. Since the previous base,maingained #412, which documents the experimental Cassandra backend ingetting-started.md, the architecture, design and deployment guides, the ADRs and a newdocs/cassandra-setup.md. The other commits onmainsince then (#638, #511, #680) do not touchdocs/orwebsite/.Four files conflicted. In each one the text from #412 stays and this PR's formatting is applied to it: the ExtendDB spelling, links in place of file paths, and no dashes in the lines this PR changes; the em dash in the design guide's Catalog line is older than both changes and goes in #530.
docs/getting-started.md: the prerequisites keep the SQLite and Cassandra entries from docs: document the experimental Cassandra storage backend #412. The Cassandra entry reads 4.1+, links tocassandra-setup.mdand names thecassandra:4.1image CI runs. The Cassandra backend section from docs: document the experimental Cassandra storage backend #412 is unchanged apart from punctuation, and its closing pointer todocs/cassandra-setup.mdis now a link.docs/manuals/01-architecture-guide.md: the overview, crate list, storage backends section, process lifecycle, streams and deployment models are the docs: document the experimental Cassandra storage backend #412 text, which names all four backends and states that on Cassandra a stream record is generally not written atomically with its item.docs/manuals/02-design-guide.md: the Catalog and Data Separation section from docs: document the experimental Cassandra storage backend #412 replaces the old Dual-Database Architecture heading.docs/manuals/11-deployment-guide.md: the layout from docs: document the experimental Cassandra storage backend #412 is kept (the backend-specific note, Managed Database, and the PostgreSQL connection settings moved under Configuring PostgreSQL). The checklist keeps this PR's lines on TLS being always on, onbind_addrand on the reverse proxy re-encrypting to the server. The firewall line names the storage backend port. The overview keeps this PR's statement that ExtendDB connects to the storage backend it was built with. It says running more than one instance against one catalog is not supported in this release, which is what the Multi-Instance Considerations section of both versions says, and it drops this PR's sentence about PostgreSQL examples because the note from docs: document the experimental Cassandra storage backend #412 says the same.docs/cassandra-setup.mdfrom #412 is now built as a page at/cassandra-setup/. It is in the Guides sidebar after Storage backends, and the Storage backends table, the walkthrough and the deployment guide link to it. It gets a front matter description, a sentence-case title, NOTICE and LICENSE links as GitHub URLs, and colons, semicolons or parentheses in place of its dashes.The Component designs sidebar also lists the backup and restore design (
docs/design/15-backup-restore.md, from #396), which the site already published at/design/backup-restore/with no sidebar entry.The ADR title corrections for 0011 to 0019 are on
mainnow, so they no longer appear in this diff.At the rebased head,
npm ci,npm run typecheckand the strictnpm run buildpass with no broken links or anchors, and no added prose line has an em or en dash.CI passed all 29 checks on
34bea38a6.Publish to GitHub Pagesis skipped, because it runs only when the event is not a pull request.