Skip to content

Update sql-to-falkordb.md to reflect supabase support, and deployment…#471

Open
shahar-biron wants to merge 2 commits intomainfrom
sql-to-falkordb-supabase-k8s
Open

Update sql-to-falkordb.md to reflect supabase support, and deployment…#471
shahar-biron wants to merge 2 commits intomainfrom
sql-to-falkordb-supabase-k8s

Conversation

@shahar-biron
Copy link
Copy Markdown
Contributor

@shahar-biron shahar-biron commented May 6, 2026

… of the control plane over k8s.

Summary by CodeRabbit

  • Documentation
    • Enhanced migration guide with clearer deployment and runtime configuration guidance, clarified control-plane execution for local and Kubernetes backends, added a Container + Kubernetes single-deployment model, and included specific examples for Databricks, PostgreSQL, Snowflake, and Spark SQL.
  • Chores
    • Added three new glossary/wordlist entries: Postgres, Supabase, and kubectl.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 6, 2026

📝 Walkthrough

Walkthrough

This PR updates the SQL-to-FalkorDB migration documentation: replaces generic config path placeholders with concrete sample config references for Databricks, PostgreSQL, Snowflake, and Spark SQL; clarifies that runs may execute locally or on Kubernetes; adds a new "Container + Kubernetes single-deployment model" section. It also appends three words to the global wordlist.

Changes

SQL-to-FalkorDB Migration Documentation

Layer / File(s) Summary
CLI examples (concrete configs)
operations/migration/sql-to-falkordb.md
(lines 106–110, 150–157, 170–176, 181–185)
Replaced generic path/to/config.yaml placeholders with concrete sample config files: ../databricks_sample_to_falkordb.yaml, example.config.yaml, snowflake_stream_example.yaml, spark_to_falkordb_e2e.sample.yaml in Databricks, PostgreSQL, Snowflake, and Spark SQL run instructions.
Execution backend clarification
operations/migration/sql-to-falkordb.md
(lines 241, 296)
Updated UI/control-plane wording to state runs may execute either locally on the control-plane host or as Kubernetes workloads (replacing local-only phrasing).
New deployment model
operations/migration/sql-to-falkordb.md
(lines 308–339)
Added "Container + Kubernetes single-deployment model" section describing a single-release approach pairing a control-plane image with a multi-tool runner image; includes repository layout notes, Dockerfile/build script/Helm chart references, example build/helm commands, Helm values to enable tools, and architectural rationale.
Minor wording updates
operations/migration/sql-to-falkordb.md
Small inline wording adjustments to align narrative with the new run-backend and deployment model content.

Wordlist Additions

Layer / File(s) Summary
Wordlist update
.wordlist.txt
(end of file)
Appended three new entries: Postgres, Supabase, and kubectl.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🐰 A doc update with clarity bright,
Config paths now concrete and right,
Local or Kube, the choice is clear,
A single-deploy song we hear,
Tiny words added—hop with cheer!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main changes: updates to sql-to-falkordb.md documentation, specifically adding Supabase support and deployment information (Kubernetes deployment mentioned in objectives).
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch sql-to-falkordb-supabase-k8s
⚔️ Resolve merge conflicts
  • Resolve merge conflict in branch sql-to-falkordb-supabase-k8s

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Nitpick comments (1)
operations/migration/sql-to-falkordb.md (1)

160-160: ⚡ Quick win

Consider expanding Supabase guidance beyond SSL mode.

While the SSL mode note is technically correct, the PR title emphasizes "reflect supabase support," but this single line is the only Supabase-specific guidance. Consider enhancing this section with:

  • An example POSTGRES_URL connection string for Supabase (showing the SSL mode in context)
  • A note about Supabase's connection pooler vs. direct connection options
  • Optional: A dedicated Supabase subsection or callout box for visibility

This would better align the documentation with the PR's stated objective and provide more practical guidance for Supabase users.

📝 Example enhancement
 Note: PostgreSQL currently supports daemon mode but not purge flags.
-For Supabase-compatible Postgres endpoints, include `sslmode=require` (minimum) or `sslmode=verify-full` in `POSTGRES_URL`.
+
+#### Supabase
+
+Supabase-compatible Postgres endpoints require SSL. Include `sslmode=require` (minimum) or `sslmode=verify-full` in your `POSTGRES_URL`:
+
+```bash
+# Example Supabase connection string
+export POSTGRES_URL="postgresql://postgres:[YOUR-PASSWORD]@db.[YOUR-PROJECT-REF].supabase.co:5432/postgres?sslmode=require"
+```
+
+Note: Supabase provides both a direct connection string and a connection pooler URL (port 6543). Either can be used depending on your concurrency requirements.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@operations/migration/sql-to-falkordb.md` at line 160, The Supabase guidance
is too minimal—update the section around POSTGRES_URL to include a concrete
example Supabase connection string (showing sslmode=require or
sslmode=verify-full in context), add a short note explaining Supabase provides
both a direct DB URL and a pooled URL (connection pooler on port 6543) and when
to prefer each, and promote this into a small "Supabase" subsection or callout
so users can easily find the POSTGRES_URL example and pooler guidance.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@operations/migration/sql-to-falkordb.md`:
- Around line 222-225: The scaffold examples use absolute repo-root paths
(PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml and
PostgreSQL-to-FalkorDB/postgres.generated.template.yaml) but the PostgreSQL
section earlier instructs readers to cd into
PostgreSQL-to-FalkorDB/postgres-to-falkordb; update these two example cargo
commands to use local paths (example.config.yaml and
./postgres.generated.template.yaml) or add a preceding note that the working
directory is the postgres-to-falkordb folder so the current paths are correct,
referencing the cargo run invocations and the
example.config.yaml/postgres.generated.template.yaml filenames to locate the
lines to change.
- Around line 210-213: The purge example commands use paths like
ClickHouse-to-FalkorDB/clickhouse.incremental.yaml which conflict with earlier
instructions that change the working directory into ClickHouse-to-FalkorDB;
update the two example lines (the cargo run commands that include --config
ClickHouse-to-FalkorDB/clickhouse.incremental.yaml and the --purge-mapping
example) so their config path is relative to the current working directory
(e.g., use --config clickhouse.incremental.yaml), or alternatively prefix the
section with a note stating these commands must be executed from the repository
root; make the change in the SQL-to-FalkorDB migration docs where the purge
examples appear to ensure consistency with the earlier "cd
ClickHouse-to-FalkorDB" instruction.

---

Nitpick comments:
In `@operations/migration/sql-to-falkordb.md`:
- Line 160: The Supabase guidance is too minimal—update the section around
POSTGRES_URL to include a concrete example Supabase connection string (showing
sslmode=require or sslmode=verify-full in context), add a short note explaining
Supabase provides both a direct DB URL and a pooled URL (connection pooler on
port 6543) and when to prefer each, and promote this into a small "Supabase"
subsection or callout so users can easily find the POSTGRES_URL example and
pooler guidance.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: c8f77b7f-d36e-4924-b3b3-8552d642db3d

📥 Commits

Reviewing files that changed from the base of the PR and between b729799 and 3781f27.

📒 Files selected for processing (1)
  • operations/migration/sql-to-falkordb.md

Comment on lines +210 to +213
cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-graph

# Purge selected mappings
cargo run --release -- --config path/to/config.yaml --purge-mapping customers
cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-mapping customers
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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix path inconsistency in purge examples.

The paths ClickHouse-to-FalkorDB/clickhouse.incremental.yaml assume running from the repository root, but the ClickHouse section (line 92) instructs users to cd ClickHouse-to-FalkorDB first. If users follow that instruction and remain in that directory, these purge commands will fail with "file not found" errors.

Either:

  1. Clarify that purge examples should be run from the repository root, OR
  2. Adjust the paths to match the working directory established in Option A sections
🔧 Proposed fix (Option 2: adjust paths)
 # Purge full graph before loading
-cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-graph
+cargo run --release -- --config clickhouse.incremental.yaml --purge-graph
 
 # Purge selected mappings
-cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-mapping customers
+cargo run --release -- --config clickhouse.incremental.yaml --purge-mapping customers

Or add a note:

+Note: The following examples assume you are in the repository root directory.
+
 # Purge full graph before loading
 cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-graph
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-graph
# Purge selected mappings
cargo run --release -- --config path/to/config.yaml --purge-mapping customers
cargo run --release -- --config ClickHouse-to-FalkorDB/clickhouse.incremental.yaml --purge-mapping customers
cargo run --release -- --config clickhouse.incremental.yaml --purge-graph
# Purge selected mappings
cargo run --release -- --config clickhouse.incremental.yaml --purge-mapping customers
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@operations/migration/sql-to-falkordb.md` around lines 210 - 213, The purge
example commands use paths like
ClickHouse-to-FalkorDB/clickhouse.incremental.yaml which conflict with earlier
instructions that change the working directory into ClickHouse-to-FalkorDB;
update the two example lines (the cargo run commands that include --config
ClickHouse-to-FalkorDB/clickhouse.incremental.yaml and the --purge-mapping
example) so their config path is relative to the current working directory
(e.g., use --config clickhouse.incremental.yaml), or alternatively prefix the
section with a note stating these commands must be executed from the repository
root; make the change in the SQL-to-FalkorDB migration docs where the purge
examples appear to ensure consistency with the earlier "cd
ClickHouse-to-FalkorDB" instruction.

Comment on lines +222 to +225
cargo run --release -- --config PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml --introspect-schema

# Generate starter mapping template
cargo run --release -- --config path/to/config.yaml --generate-template --output scaffold.yaml
cargo run --release -- --config PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml --generate-template --output PostgreSQL-to-FalkorDB/postgres.generated.template.yaml
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.

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Fix path inconsistency in scaffold examples.

The same path inconsistency issue from the purge section affects these scaffolding examples. The paths assume running from the repository root (PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml), but the PostgreSQL section (line 149) instructs users to cd PostgreSQL-to-FalkorDB/postgres-to-falkordb.

Apply the same fix as suggested for the purge examples: either clarify the working directory or adjust the paths to be consistent.

🔧 Proposed fix (adjust paths)
 # Print normalized source schema summary
-cargo run --release -- --config PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml --introspect-schema
+cargo run --release -- --config example.config.yaml --introspect-schema
 
 # Generate starter mapping template
-cargo run --release -- --config PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml --generate-template --output PostgreSQL-to-FalkorDB/postgres.generated.template.yaml
+cargo run --release -- --config example.config.yaml --generate-template --output ../postgres.generated.template.yaml

Or add a directory context note at the start of this section.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@operations/migration/sql-to-falkordb.md` around lines 222 - 225, The scaffold
examples use absolute repo-root paths
(PostgreSQL-to-FalkorDB/postgres-to-falkordb/example.config.yaml and
PostgreSQL-to-FalkorDB/postgres.generated.template.yaml) but the PostgreSQL
section earlier instructs readers to cd into
PostgreSQL-to-FalkorDB/postgres-to-falkordb; update these two example cargo
commands to use local paths (example.config.yaml and
./postgres.generated.template.yaml) or add a preceding note that the working
directory is the postgres-to-falkordb folder so the current paths are correct,
referencing the cargo run invocations and the
example.config.yaml/postgres.generated.template.yaml filenames to locate the
lines to change.

… dictionary

Co-Authored-By: Oz <oz-agent@warp.dev>
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
.wordlist.txt (1)

792-794: ⚡ Quick win

Consider maintaining alphabetical order for better maintainability.

The new entries are appended to the end, but the wordlist has alphabetically organized sections. For improved searchability and consistency, consider placing them in alphabetical order:

  • "kubectl" → after "kbcli" (line 659)
  • "Postgres" → in the 'P' section (around lines 253-272)
  • "Supabase" → in the 'S' section (around lines 531-575)

This refactor can be deferred if the team prefers appending new entries.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.wordlist.txt around lines 792 - 794, The new wordlist entries "kubectl",
"Postgres", and "Supabase" are appended at the end and should be moved into
their alphabetized sections: insert "kubectl" immediately after the existing
"kbcli" entry, place "Postgres" within the 'P' section near other P-words, and
place "Supabase" within the 'S' section alongside S-entries; ensure each entry
follows the file's casing/formatting rules and update any surrounding separators
or indexes so alphabetical ordering is preserved.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In @.wordlist.txt:
- Around line 792-794: The new wordlist entries "kubectl", "Postgres", and
"Supabase" are appended at the end and should be moved into their alphabetized
sections: insert "kubectl" immediately after the existing "kbcli" entry, place
"Postgres" within the 'P' section near other P-words, and place "Supabase"
within the 'S' section alongside S-entries; ensure each entry follows the file's
casing/formatting rules and update any surrounding separators or indexes so
alphabetical ordering is preserved.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 478bafee-8a11-482b-9794-914d1daeeb69

📥 Commits

Reviewing files that changed from the base of the PR and between 3781f27 and 116e261.

📒 Files selected for processing (1)
  • .wordlist.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant