Skip to content

docs: salvage database and configuration docs navigation from #2948 - #3258

Merged
serrrfirat merged 9 commits into
mainfrom
salvage/pr-2948-docs-navigation
May 5, 2026
Merged

serrrfirat merged 9 commits into
mainfrom
salvage/pr-2948-docs-navigation

Conversation

@serrrfirat

@serrrfirat serrrfirat commented May 5, 2026 •

Copy link
Copy Markdown
Collaborator

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:

  • clarify that the Configuration page is an operator-focused reference checked against current config sources
  • expand the page with provider-registry variables from providers.json
  • add advanced configuration variables resolved by the current src/config/ modules

Original PR

Salvage review

  • Relevance: still relevant because the docs navigation lacked live Database and Configuration pages.
  • Supersession check: current main did not already include equivalent live docs pages.
  • Source-of-truth check: compared configuration claims against src/config/, providers.json, and src/setup/README.md; expanded the reference so all variables extracted from current src/config/*.rs and providers.json are represented, excluding test-only variables and OBSERVABILITY_BACKEND which is runtime-observability plumbing rather than operator docs in this page.
  • Risk track: Track A, docs-only.

Validation

  • jq empty docs/docs.json -> passed
  • Simple docs navigation target check for docs/docs.json page/path refs -> passed
  • Simple local link target check for changed docs -> passed
  • git diff --check origin/main...HEAD -> passed
  • Config-doc coverage script comparing docs/capabilities/configuration.mdx against current src/config/*.rs and providers.json -> passed (missing=0, ignoring test-only variables and OBSERVABILITY_BACKEND)

Notes

  • No source-code changes.
  • Branch was rebased onto current origin/main before update.
  • Recommended merge method: rebase merge, to preserve original authorship.

@github-actions github-actions Bot added scope: docs Documentation size: XL 500+ changed lines risk: low Changes to docs, tests, or low-risk modules contributor: core 20+ merged PRs labels May 5, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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"

@Kampouse

Kampouse commented May 5, 2026

Copy link
Copy Markdown

Please 🙏 lets get better docs 🥹

Jean-Philippe Martel and others added 9 commits May 5, 2026 22:28
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/.
@serrrfirat
serrrfirat force-pushed the salvage/pr-2948-docs-navigation branch from 74ec590 to 074919b Compare May 5, 2026 20:29
@serrrfirat
serrrfirat enabled auto-merge May 5, 2026 20:32
@serrrfirat
serrrfirat merged commit ca33ba8 into main May 5, 2026
30 checks passed
@serrrfirat
serrrfirat deleted the salvage/pr-2948-docs-navigation branch May 5, 2026 20:33
theredspoon pushed a commit to theredspoon/ironclaw that referenced this pull request Jun 21, 2026
…ation

docs: salvage database and configuration docs navigation from nearai#2948
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contributor: core 20+ merged PRs risk: low Changes to docs, tests, or low-risk modules scope: docs Documentation size: XL 500+ changed lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants