Repository navigation
docs: add the documentation site - #491
Open
LeeroyHannigan wants to merge 3 commits into
Open
LeeroyHannigan wants to merge 3 commits into
LeeroyHannigan wants to merge 3 commits 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
4 of 8 tasks
docs/cassandra-setup.md: main added the Container Image section, the init grants under CassandraAuthorizer, the default account's keyspace and the keyspace replication steps. This branch added front matter, a sentence-case title, GitHub URLs for links outside docs/ and plain punctuation. The application role item and the replication_factor field are main's text; the admin credentials item and the datacenter field keep this branch's punctuation. The link to docker/README-cassandra.md is a GitHub URL. docs/differences-from-dynamodb.md: main rewrote the cross-account sentence of the backup ARN row, and this branch changed the punctuation of the TagResource row. The merge keeps main's backup ARN row and this branch's TagResource row. docs/dynamodb-limits.md: main updated the date line, the maximum item size and attribute name size rows, and removed the shard iterator lifetime item from the unenforced list. This branch retitled the page, replaced the date line with an introduction and replaced the dashes. The merge keeps this branch's title, main's date line, main's two rows and list items, and this branch's punctuation in the rows and items main did not change. docs/manuals/02-design-guide.md: both sides changed the opening paragraph of Caching Design. It is main's text, which describes the auth and authz caches. docs/manuals/03-usage-guide.md: both sides split the Backups / PITR row. The two rows are main's; the Global Tables row is this branch's. docs/manuals/05-admin-guide.md: both sides changed the fanout invalidations item. It is main's text, which says the sweeps take effect when the call returns. docs/manuals/07-upgrade-manual.md: main replaced the Writing a New Migration procedure with a pointer to CONTRIBUTING.md and added two v0.1.15 entries. This branch changed the punctuation of the procedure and the v0.1.14 heading. The merge keeps main's text, with this branch's v0.1.14 heading and a GitHub URL for the CONTRIBUTING.md link. docs/manuals/10-security-model.md: main replaced the credential cache line with the Credential and Policy Caching section, and this branch changed the line's punctuation. The merge keeps main's section. docs/manuals/11-deployment-guide.md: main added the login limit sentence to the reverse proxy item, and this branch rewrote the bind_addr, firewall and reverse proxy items. The merge keeps this branch's bind_addr and firewall items and main's reverse proxy item. docs/manuals/12-extending-extenddb-storage.md: main changed the RateLimitStore item, and the SQL migrations item for the shared runner. This branch replaced the dashes in both lists. The merge keeps main's two items, with a GitHub URL for the CONTRIBUTING.md link, and this branch's punctuation in the other items. docs/troubleshooting.md: main rewrote the cause of the catalog status entry and the fix of the uninitialized catalog entry. This branch changed the product name in the first and turned the getting-started path in the second into a link. The merge keeps main's text, with this branch's link to the full walkthrough. docs/adr/0023-catalog-migrations.md, new on main, linked CONTRIBUTING.md by a relative path outside docs/, which the site's strict build refuses. The link is now a GitHub URL.
LeeroyHannigan
requested review from
eliseong,
hitesh96db and
navareamol
as code owners
November 5, 2026 01:49
docs/manuals/11-deployment-guide.md: main changed the max_connections item of the PostgreSQL checklist to the formula that counts the data pool, the catalog pool and the backup jobs. This branch wrote the product name as ExtendDB in the two checklist items. The merge keeps main's formula and this branch's spelling in the dedicated user item. docs/troubleshooting.md: main rewrote the fix for the console login redirect, so that it names a changed password, and added an entry for the 503 answer when the catalog is unavailable. This branch wrote the product name as ExtendDB in the fix line. The merge keeps main's two entries with this branch's spelling in the fix line.
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.