docs: salvage database and configuration docs navigation from #2948 - #3258
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces comprehensive documentation for IronClaw's configuration and database backends. It adds two new detailed guides covering environment variables and the comparison between PostgreSQL and libSQL, while updating the documentation structure and marking older drafts as superseded. Onboarding and quickstart guides were also updated to reflect these database options. Feedback was provided regarding a minor inconsistency in the database connection string examples where the username should be standardized to 'ironclaw' for clarity.
| 3. **Update IronClaw config:** | ||
| ```bash | ||
| export DATABASE_BACKEND=postgres | ||
| export DATABASE_URL="postgres://user:***@localhost/ironclaw" |
There was a problem hiding this comment.
The username in this example DATABASE_URL is user, which is inconsistent with the user ironclaw that is created in the manual setup instructions on line 71 and used in other examples throughout this document (e.g., lines 86, 192, and 214). To avoid confusion for users following the guide, it would be best to consistently use ironclaw as the username.
export DATABASE_URL="postgres://ironclaw:***@localhost/ironclaw"
|
Please 🙏 lets get better docs 🥹 |
Move the existing database backends and configuration reference docs out of drafts/ and into the live navigation under Core Capabilities. - capabilities/database.mdx: PostgreSQL vs libSQL setup, env vars, SSL modes, hybrid search, migration, backup, troubleshooting - capabilities/configuration.mdx: full environment variable reference with two-layer config system - docs.json: add both pages to Core Capabilities nav group
- Add DATABASE_POOL_SIZE env var (default 30) to PostgreSQL config section - Fix /setup/configuration → /capabilities/configuration - Fix /install/vps → /infrastructure/droplet (live page) - Fix /setup/database → /capabilities/database - Fix /providers → /capabilities/llm-providers
- State explicitly that PostgreSQL is the default backend - Add warning that DATABASE_URL is required (shows exact error message) - Add Docker Compose as recommended installation method (accordion) - Document all DATABASE_BACKEND aliases (postgres/postgresql/pg/libsql/turso/sqlite) - Add DATABASE_POOL_SIZE to config example - Add warning that LIBSQL_AUTH_TOKEN is required with LIBSQL_URL - Fix onboard page: mention both backends, link to database docs - Fix onboard step title: 'Select the Database Path' → 'Select the Database'
Gemini review pointed out that sqlite3 .dump output is often incompatible with PostgreSQL (PRAGMA statements, type differences, quoting). - Add warning callout explaining the incompatibility - Recommend pgloader as the primary migration tool - Keep manual export as fallback with editing caveat
- Fix DATABASE_POOL_SIZE default: 10 → 30 (matches code) - Quickstart local tab: add 'by default' to libSQL mention and link to database backends page for production/multi-user setups
Defaults corrected against Rust source (src/config/settings.rs, channels.rs): - AGENT_JOB_TIMEOUT_SECS: 300 → 3600 (1 hour) - AGENT_STUCK_THRESHOLD_SECS: 60 → 300 (5 min) - SELF_REPAIR_CHECK_INTERVAL_SECS: 30 → 60 (1 min) - SESSION_IDLE_TIMEOUT_SECS: 3600 → 604800 (7 days) - ROUTINES_CRON_INTERVAL: 60 → 15 - ROUTINES_MAX_CONCURRENT: 3 → 10 - EMBEDDING_ENABLED: true → false - EMBEDDING_PROVIDER: openai → nearai - HTTP_HOST: 0.0.0.0 → 127.0.0.1 - SKILLS_MAX_TOKENS → SKILLS_MAX_CONTEXT_TOKENS (renamed) Phantom env vars removed (don't exist in codebase): - GATEWAY_USER_ID, HTTP_USER_ID, HEARTBEAT_NOTIFY_CHANNEL, HEARTBEAT_NOTIFY_USER, SKILLS_CATALOG_URL, SKILLS_AUTO_DISCOVER Also fixed HTTP webhook warning to match actual default binding.
Add SUPERSEDED comment to drafts/setup/database.mdx and drafts/setup/configuration.mdx pointing to their promoted live versions in capabilities/.
74ec590 to
074919b
Compare
…ation docs: salvage database and configuration docs navigation from nearai#2948
Salvage of #2948 onto current main.
Summary
Cherry-picked the documentation updates from #2948 onto current
origin/main.This promotes the Database and Configuration docs pages from drafts into the live docs navigation, marks the superseded draft pages, and updates related onboarding/quickstart links.
Maintainer follow-up commits were added after salvage to:
providers.jsonsrc/config/modulesOriginal PR
docs/add-database-pagedocs: clarify configuration reference scopedocs: expand configuration variable referenceSalvage review
maindid not already include equivalent live docs pages.src/config/,providers.json, andsrc/setup/README.md; expanded the reference so all variables extracted from currentsrc/config/*.rsandproviders.jsonare represented, excluding test-only variables andOBSERVABILITY_BACKENDwhich is runtime-observability plumbing rather than operator docs in this page.Validation
jq empty docs/docs.json-> passeddocs/docs.jsonpage/path refs -> passedgit diff --check origin/main...HEAD-> passeddocs/capabilities/configuration.mdxagainst currentsrc/config/*.rsandproviders.json-> passed (missing=0, ignoring test-only variables andOBSERVABILITY_BACKEND)Notes
origin/mainbefore update.