Skip to content

Add rsync source - #269

Draft
amotl wants to merge 4 commits into
mainfrom
rsync
Draft

Add rsync source#269
amotl wants to merge 4 commits into
mainfrom
rsync

Conversation

@amotl

@amotl amotl commented Aug 1, 2026

Copy link
Copy Markdown
Member

About

Add connector for rsync. Thank you, @oferchen! 1

Details

Integrates a new filesystem-family source that stages remote files via oc-rsync before handing them to the shared filesystem reader. Registers the rsync:// (daemon) and rsync+ssh:// (SSH) URI schemes, with full test coverage across transport, command building, staging, and end-to-end reads.

References

Footnotes

  1. I haven't been able to push to your fork, so I have staged a new PR hereby.

Integrates a new filesystem-family source that stages remote files via
oc-rsync before handing them to the shared filesystem reader. Registers
the `rsync://` (daemon) and `rsync+ssh://` (SSH) URI schemes, with full
test coverage across transport, command building, staging, and
end-to-end reads.
Address five findings from issue #262:
- B1/B4: Normalise trailing slashes in remote_spec (transport.py)
- B2: Guard empty pattern in filter_rules (command.py)
- B6: Deduplicate query_params call (api.py)
- S1: Allowlist validation for binary option (config.py)
- S9: Restrict staging directory permissions to 0o700 (stager.py)

Tighten docstrings across all rsync modules and tests to match
current code after the fixes.
- Fix ruff I001 (unsorted imports) in api.py
- Skip SubprocessRunner tests on Windows (shell scripts need POSIX)
- Skip staging dir permissions test on Windows (NTFS has no mode bits)
@coderabbitai

coderabbitai Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (1)
  • coderabbit-review

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: 4b8dedc6-f46c-4f44-b14d-42b698d46fa6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@read-the-docs-community

Copy link
Copy Markdown

Documentation build overview

📚 omniload | 🛠️ Build #33870796 | 📁 Comparing 9d259a4 against latest (989164c)

  🔍 Preview build  

1 file changed
+ supported-sources/rsync.html

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.

2 participants