Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
86f928d
docs: reorganize ColdFront docs into the standard pgedge nav structure
Oct 13, 2026
faa5a37
docs: add Connecting to ColdFront page, polish Exploring ColdFront an…
Oct 13, 2026
db48188
docs: reorganize config pages, tidy types and compaction, sync README
Oct 13, 2026
5e8445e
docs: remove the temporary Source page and its nav entry
Oct 13, 2026
1b4f734
Merge origin/main and address review comments on PR #114
Oct 14, 2026
421b998
docs: format DuckDB's postgres extension name as code
Oct 14, 2026
b47f40c
docs: replace stale usage.md and architecture.md references
Oct 14, 2026
567e1d7
docs: use page titles instead of filenames as link text
Oct 14, 2026
cc95593
docs: split the opening sentence of the introduction
Oct 14, 2026
0280566
docs: rename one_time_setup.md to configure_lakekeeper.md
Oct 14, 2026
43c50c8
docs: describe three modes in the introduction, format the coldfront …
Oct 14, 2026
c2c2c8d
docs: address CodeRabbit review and name the modes instead of "both"
Oct 15, 2026
66b07c0
docs: keep one copy of the Lakekeeper bootstrap commands, fix the bar…
Oct 15, 2026
c44823b
docs: replace the alice example role with a <role_name> placeholder
Oct 15, 2026
b2c7c08
docs: read the Lakekeeper environment file as the lakekeeper user
Oct 15, 2026
932eff3
docs: take the warehouse ID from the create response
Oct 15, 2026
eb776cc
docs: save the warehouse ID in each object store create command
Oct 15, 2026
e3489fa
docs: warn when the warehouse ID is empty before creating the namespace
Oct 15, 2026
00d2f95
docs: secure the Lakekeeper listener before starting the service
Oct 15, 2026
9393ffb
docs: rewrap the protocol paragraph in docs/index.md
Oct 15, 2026
c90131f
docs: say to set local_pg_dsn before set_storage_secret() runs
Oct 15, 2026
926450e
docs: skip the namespace request when the warehouse ID is empty
Oct 15, 2026
b279eee
docs: say the Iceberg cold tier applies to tiered and decoupled modes
Oct 15, 2026
a126870
docs: note Lakekeeper's native GCS profile and why the guide uses S3
Oct 15, 2026
f45cd0e
docs: set duckdb.postgres_role for package and bare-metal installs
Oct 15, 2026
9c5e446
docs: initialize and start PostgreSQL after a package install
Oct 15, 2026
c431e40
docs: list a PostgreSQL server in the bare-metal prerequisites
Oct 15, 2026
b198332
docs: turn off DuckDB extension autoinstall on bare metal
Oct 15, 2026
071346b
docs: install and start PostgreSQL before ColdFront in the package steps
Oct 15, 2026
81934e6
docs: create the Debian cluster and check the server after installing…
Oct 15, 2026
8abec8e
docs: split the package steps and install the tools and Lakekeeper wi…
Oct 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ REPO_READY_AUDIT.md

# MkDocs build output
site/
.venv-docs/

# pg_regress expected outputs — tracked; the global *.out would exclude them.
!extension/coldfront/test/expected/*.out
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ Snapshots of upstream state for the next major moves. Re-verify before acting on
- duckdb-iceberg's 2.0-line commit path is rewritten (a retry loop with `RefreshFromCatalog` firing reactively after a 409, rather than proactively before the first attempt). Our bakery patch's anchors (`RefreshExistingManifestList`, `GetTransactionRequest`) no longer exist there — the proactive pre-commit refresh needs reimplementing, not dropping.
- Two of our interop patches (manifest-list `format-version`, lowercase parquet `file_format`) are still needed against the 2.0-line `main`.
- The DuckDB temp-spill collision above (`duckdb#15173`, `pg_duckdb#887`) is fixed on the 2.0 line: spill files are instance-qualified, so the per-backend temp directory stops being a correctness requirement once the stack moves to 2.0.
- Partitioned `INSERT` and `CREATE TABLE ... PARTITIONED BY (...)` already work at our current `ICEBERG_REF`; `docs/architecture.md` and the extension's partition-column notice calling this unsupported are stale and should be corrected independently of the 2.0 move.
- Partitioned `INSERT` and `CREATE TABLE ... PARTITIONED BY (...)` already work at our current `ICEBERG_REF`; `docs/architecture_guides/index.md` and the extension's partition-column notice calling this unsupported are stale and should be corrected independently of the 2.0 move.

**DuckDB 1.5.6 (`v1.5-variegata` repin)** (checked 2026-10-04 at head `5dcf5070`): moving to the branch head forces a DuckDB newer than 1.5.4 for the whole stack — pg_duckdb loads extensions only for its exact DuckDB version, and pg_duckdb PR #1071 bumps to 1.5.5 while nothing upstream has tried 1.5.6 yet. All five `docker/iceberg-*-v15.patch` files still apply cleanly at the head and none of their fixes have landed upstream; `referenced_data_file` is still reader-only and `RETURNING` on a cold `INSERT`/`UPDATE`/`DELETE`/`MERGE` is still refused. The gains are vended-credential refresh, equality-delete scans with extra columns, truncated UTF-8 string bounds, an Azure SAS endpoint-suffix fix, and a `write.metadata.metrics` backport — treat a repin as a DuckDB stack move (base republish, full matrix), not a quick ref bump.

Expand All @@ -109,8 +109,8 @@ Snapshots of upstream state for the next major moves. Re-verify before acting on
## Documentation
- User docs live in `docs/` as a MkDocs site (pgEdge MkDocs structure); `README.md` is the GitHub landing/TOC. Build with `mkdocs build --strict` — it must pass with no warnings.
- Keep `README.md` and `docs/index.md` near-identical, EXCEPT `docs/index.md` is user-facing and omits the developer-specific content that belongs only in a GitHub README: CI badges, build-from-source internals, the project-structure tree, dependency/build tables, and author/contributor info.
- Three indexes point at the pages in `docs/`, each with its own focus: the `mkdocs.yml` `nav:` (everything, including changelog, license and `formal/`), the `README.md` Documentation table (one terse row per guide), and the `docs/index.md` Next Steps list (prose, user-facing, top-level guides only; the per-mode deep dives are reached through `docs/architecture.md`, which lists them). Adding, renaming, or removing a guide under `docs/` means updating all three in the same commit; adding a deep dive means the nav, the README table, and the list in `docs/architecture.md`. `mkdocs build --strict` passes on a page no index links, so it will not catch this: check by listing `docs/*.md` against each index.
- Three indexes point at the pages in `docs/`, each with its own focus: the `mkdocs.yml` `nav:` (everything, including changelog, license and `formal/`), the `README.md` Documentation table (one terse row per guide), and the `docs/index.md` Next Steps list (prose, user-facing, top-level guides only; the per-mode deep dives are reached through `docs/architecture_guides/index.md`, which lists them). Adding, renaming, or removing a guide under `docs/` means updating all three in the same commit; adding a deep dive means the nav, the README table, and the list in `docs/architecture_guides/index.md`. `mkdocs build --strict` passes on a page no index links, so it will not catch this: check by listing `docs/*.md` against each index.
- Internal/scratch docs (bench, experimental, hardening, comparison, backlog, scale-test, E2E) are gitignored and NEVER pushed to GitHub; never reference them from published docs.
- ARCHITECTURE docs are reference material, not work logs: brief, present-tense, no history ("we used to…", version churn), no rejected-alternative narration. Keep the *why* (rationale that explains the design); cut the journey.
- One home per topic, no duplication across docs: usage/modes/config/CLI and one-time setup in `docs/usage.md`; build-from-source and testing/CI in `docs/installation.md`; storage-backend setup in `docs/object_store.md`; deep dives in `docs/architecture*.md`. When moving a section, fix every cross-anchor that pointed at it.
- One home per topic, no duplication across docs: shared day-to-day usage and the partition CLI in `docs/using_coldfront/index.md`; each mode's own guide in `docs/usage_tiered.md`, `docs/usage_decoupled.md`, and `docs/usage_partitioner.md`; PostgreSQL/ColdFront config in `docs/configuration.md`; Lakekeeper install/config/bootstrap in `docs/configure_lakekeeper.md`; build-from-source and testing/CI in `docs/installation.md`; storage-backend setup in `docs/object_store.md`; deep dives in `docs/architecture_guides/index.md` and `docs/architecture_tiered.md`/`docs/architecture_decoupled.md`/`docs/architecture_vectors.md`. When moving a section, fix every cross-anchor that pointed at it.
- Tracked build-journal docs (`DUCKDB_1.5_PATCHED.md`, `DUCKDB_1.5_UNPATCHED.md`) are kept as history and never deleted, but they are not part of the docs site: never link them from `README.md` or `docs/`. Point build internals at the real recipe, `docker/Dockerfile.duckdb15-base`.
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Thanks for your interest in improving ColdFront.
## Getting started

- Build and run the stack: [Installation](docs/installation.md).
- Day-to-day usage and the two operating modes: [Usage](docs/usage.md).
- Architecture: [Architecture](docs/architecture.md) (plus the tiered/decoupled
- Day-to-day usage and the two operating modes: [Usage](docs/using_coldfront/index.md).
- Architecture: [Architecture](docs/architecture_guides/index.md) (plus the tiered/decoupled
deep dives).

## Development workflow
Expand Down
Loading
Loading