Skip to content

Commit f34fdad

Browse files
authored
feat: add SFTP file transfer and std::fs-compatible operations (#4)
* fix: correct spelling errors Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * fix: improve error handling for SSH connection timeout Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * feat: add file transfer capabilities via SFTP Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * feat: add `std::fs`-compatible file operations Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * feat: add test cases for file operations Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * docs: add README and update package metadata Signed-off-by: jl.jiang <jiangjl9807@gmail.com> * fix: enhance symlink support and improve error handling Signed-off-by: jl.jiang <jiangjl9807@gmail.com> --------- Signed-off-by: jl.jiang <jiangjl9807@gmail.com>
1 parent 4357508 commit f34fdad

File tree

8 files changed

+1247
-41
lines changed

8 files changed

+1247
-41
lines changed

Cargo.lock

Lines changed: 152 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,15 @@
11
[package]
22
name = "qlean"
33
version = "0.1.0"
4+
authors = ["jl.jiang <jiangjl9807@gmail.com>"]
5+
categories = ["development-tools::testing", "virtualization"]
6+
description = "A system-level isolation testing library based on QEMU/KVM."
7+
documentation = "https://docs.rs/qlean"
48
edition = "2024"
9+
keywords = ["isolation", "testing", "kvm", "qemu"]
10+
license = "MIT"
11+
readme = "README.md"
12+
repository = "https://github.com/buck2hub/qlean"
513

614
[dependencies]
715
anyhow = "1.0.100"
@@ -12,6 +20,7 @@ futures = "0.3"
1220
nanoid = "0.4.0"
1321
reqwest = { version = "0.13.1", features = ["stream"] }
1422
russh = "0.55.0"
23+
russh-sftp = "2.1.1"
1524
serde = { version = "1.0.228", features = ["derive"] }
1625
serde_json = "1.0.148"
1726
serde_yml = "0.0.12"
@@ -25,4 +34,5 @@ tracing = { version = "0.1.43", features = ["log"] }
2534
walkdir = "2.5.0"
2635

2736
[dev-dependencies]
37+
tempfile = "3.24.0"
2838
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "local-time"] }

0 commit comments

Comments
 (0)