Skip to content

#1409 - SFTP - #2610

Open
MrHDOLEK wants to merge 6 commits into
flow-php:1.xfrom
MrHDOLEK:#1409
Open

#1409 - SFTP#2610
MrHDOLEK wants to merge 6 commits into
flow-php:1.xfrom
MrHDOLEK:#1409

Conversation

@MrHDOLEK

@MrHDOLEK MrHDOLEK commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

SFTP filesystem bridge built on phpseclib, so sftp:// paths work anywhere Flow accepts a path — reading, writing in blocks, listing with globs, moving and removing. It also fixes
repeated separators in a path pattern: data//*.parquet matched nothing through Path::matches() while GlobWalker collapsed them, so local listing and every remote filesystem
disagreed.

Resolves: #1409

Change Log


Added

  • SFTP filesystem bridge (flow-php/filesystem-sftp-bridge) — sftp:// paths usable anywhere Flow accepts a path
  • sftp_client(), sftp_filesystem() and sftp_filesystem_options() DSL

Fixed

  • Repeated separators in a path pattern now address one path, so GlobPattern agrees with GlobWalker across local, memory, S3, Azure and SFTP

Changed

Removed

Deprecated

Security

@codecov

codecov Bot commented Aug 29, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 94.63807% with 20 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.45%. Comparing base (4ac250f) to head (6dbd71d).

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2610      +/-   ##
============================================
+ Coverage     84.39%   84.45%   +0.05%     
- Complexity    23260    30017    +6757     
============================================
  Files          1996     2008      +12     
  Lines         86539    86912     +373     
============================================
+ Hits          73036    73399     +363     
- Misses        13503    13513      +10     
Components Coverage Δ
etl 91.48% <ø> (ø)
cli 75.45% <ø> (ø)
lib-array-dot 96.52% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 70.36% <ø> (ø)
lib-filesystem 77.00% <100.00%> (+0.07%) ⬆️
lib-types 90.48% <ø> (ø)
lib-parquet 70.32% <ø> (+0.09%) ⬆️
lib-parquet-viewer 82.26% <ø> (ø)
lib-snappy 89.86% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 85.26% <ø> (ø)
lib-telemetry 86.62% <ø> (ø)
bridge-filesystem-async-aws 86.19% <ø> (ø)
bridge-filesystem-azure 80.96% <ø> (ø)
bridge-filesystem-sftp 94.57% <94.57%> (∅)
bridge-monolog-http 91.54% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 60.86% <ø> (ø)
symfony-http-foundation 56.86% <ø> (ø)
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (ø)
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.11% <ø> (ø)
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 91.85% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.04% <ø> (ø)
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.72% <ø> (ø)
adapter-chartjs 80.50% <ø> (ø)
adapter-csv 95.97% <ø> (ø)
adapter-doctrine 93.62% <ø> (ø)
adapter-google-sheet 80.11% <ø> (ø)
adapter-http 76.52% <ø> (ø)
adapter-json 65.62% <ø> (ø)
adapter-logger 28.57% <ø> (ø)
adapter-parquet 75.30% <ø> (ø)
adapter-text 70.78% <ø> (ø)
adapter-xml 59.83% <ø> (ø)
adapter-avro 0.00% <ø> (ø)
adapter-excel 79.10% <ø> (ø)
adapter-postgresql 78.03% <ø> (ø)
adapter-seal 65.69% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.36% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add SSH/SFTP support into filesystem

1 participant