[package]
edition = "2021"
name = "bssh"
version = "2.0.1"
authors = ["Jeongkyu Shin <inureyes@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Parallel SSH command execution tool for cluster management"
readme = "README.md"
keywords = [
"cli",
"rust",
]
categories = ["command-line-utilities"]
license = "Apache-2.0"
repository = "https://github.com/lablup/bssh"
[lib]
name = "bssh"
path = "src/lib.rs"
[[bin]]
name = "bssh"
path = "src/main.rs"
[[bin]]
name = "bssh-keygen"
path = "src/bin/bssh_keygen.rs"
[[bin]]
name = "bssh-server"
path = "src/bin/bssh_server.rs"
[[example]]
name = "interactive_demo"
path = "examples/interactive_demo.rs"
[[test]]
name = "backendai_env_test"
path = "tests/backendai_env_test.rs"
[[test]]
name = "broadcast_command_test"
path = "tests/broadcast_command_test.rs"
[[test]]
name = "config_save_test"
path = "tests/config_save_test.rs"
[[test]]
name = "connect_timeout_test"
path = "tests/connect_timeout_test.rs"
[[test]]
name = "download_test"
path = "tests/download_test.rs"
[[test]]
name = "error_handling_integration"
path = "tests/error_handling_integration.rs"
[[test]]
name = "error_handling_test"
path = "tests/error_handling_test.rs"
[[test]]
name = "executor_file_transfer_test"
path = "tests/executor_file_transfer_test.rs"
[[test]]
name = "exit_code_integration_test"
path = "tests/exit_code_integration_test.rs"
[[test]]
name = "fail_fast_test"
path = "tests/fail_fast_test.rs"
[[test]]
name = "glob_pattern_test"
path = "tests/glob_pattern_test.rs"
[[test]]
name = "integration_test"
path = "tests/integration_test.rs"
[[test]]
name = "interactive_integration_test"
path = "tests/interactive_integration_test.rs"
[[test]]
name = "interactive_signal_test"
path = "tests/interactive_signal_test.rs"
[[test]]
name = "interactive_test"
path = "tests/interactive_test.rs"
[[test]]
name = "jump_host_auth_mutex_test"
path = "tests/jump_host_auth_mutex_test.rs"
[[test]]
name = "jump_host_config_test"
path = "tests/jump_host_config_test.rs"
[[test]]
name = "jump_host_empty_agent_test"
path = "tests/jump_host_empty_agent_test.rs"
[[test]]
name = "jump_host_timeout_test"
path = "tests/jump_host_timeout_test.rs"
[[test]]
name = "no_prefix_test"
path = "tests/no_prefix_test.rs"
[[test]]
name = "node_prompt_scaling_test"
path = "tests/node_prompt_scaling_test.rs"
[[test]]
name = "node_switching_test"
path = "tests/node_switching_test.rs"
[[test]]
name = "password_fallback_test"
path = "tests/password_fallback_test.rs"
[[test]]
name = "pdsh_compat_test"
path = "tests/pdsh_compat_test.rs"
[[test]]
name = "pty_integration_test"
path = "tests/pty_integration_test.rs"
[[test]]
name = "pty_stress_test"
path = "tests/pty_stress_test.rs"
[[test]]
name = "pty_utils_test"
path = "tests/pty_utils_test.rs"
[[test]]
name = "ssh_config_command_options_advanced_test"
path = "tests/ssh_config_command_options_advanced_test.rs"
[[test]]
name = "ssh_config_command_options_test"
path = "tests/ssh_config_command_options_test.rs"
[[test]]
name = "ssh_keepalive_test"
path = "tests/ssh_keepalive_test.rs"
[[test]]
name = "streaming_integration_tests"
path = "tests/streaming_integration_tests.rs"
[[test]]
name = "streaming_test"
path = "tests/streaming_test.rs"
[[test]]
name = "timeout_test"
path = "tests/timeout_test.rs"
[[test]]
name = "tui_event_tests"
path = "tests/tui_event_tests.rs"
[[test]]
name = "tui_snapshot_tests"
path = "tests/tui_snapshot_tests.rs"
[[test]]
name = "upload_test"
path = "tests/upload_test.rs"
[[bench]]
name = "large_output_benchmark"
path = "benches/large_output_benchmark.rs"
harness = false
[dependencies.anyhow]
version = "1.0.102"
[dependencies.argon2]
version = "0.5"
[dependencies.arrayvec]
version = "0.7.6"
[dependencies.async-compression]
version = "0.4"
features = [
"tokio",
"gzip",
]
[dependencies.async-trait]
version = "0.1.89"
[dependencies.atty]
version = "0.2.14"
[dependencies.bcrypt]
version = "0.19"
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
[dependencies.clap]
version = "4.6.0"
features = [
"derive",
"env",
]
[dependencies.crossterm]
version = "0.29"
[dependencies.ctrlc]
version = "3.5.2"
[dependencies.directories]
version = "6.0.0"
[dependencies.dirs]
version = "6.0"
[dependencies.fastrand]
version = "2.4.1"
[dependencies.futures]
version = "0.3.32"
[dependencies.glob]
version = "0.3.3"
[dependencies.indicatif]
version = "0.18.4"
[dependencies.ipnetwork]
version = "0.21"
[dependencies.lazy_static]
version = "1.5"
[dependencies.libc]
version = "0.2"
[dependencies.lru]
version = "0.16.2"
[dependencies.nix]
version = "0.31"
features = [
"fs",
"poll",
"process",
"signal",
"term",
]
[dependencies.once_cell]
version = "1.21.4"
[dependencies.opentelemetry]
version = "0.31"
[dependencies.opentelemetry-otlp]
version = "0.31"
features = [
"grpc-tonic",
"logs",
]
[dependencies.opentelemetry_sdk]
version = "0.31"
features = [
"rt-tokio",
"logs",
]
[dependencies.owo-colors]
version = "4.3.0"
[dependencies.rand]
version = "0.10"
[dependencies.ratatui]
version = "0.30"
[dependencies.regex]
version = "1.12.3"
[dependencies.rpassword]
version = "7.4.0"
[dependencies.russh]
version = "0.60.1"
package = "bssh-russh"
[dependencies.russh-sftp]
version = "2.1.1"
[dependencies.rustls-native-certs]
version = "0.8"
[dependencies.rustyline]
version = "18.0.0"
[dependencies.secrecy]
version = "0.10.3"
features = ["serde"]
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_yaml]
version = "0.9"
[dependencies.shell-words]
version = "1.1.1"
[dependencies.signal-hook]
version = "0.4.4"
[dependencies.smallvec]
version = "1.15.1"
[dependencies.socket2]
version = "0.6"
[dependencies.ssh-key]
version = "0.6"
features = ["std"]
[dependencies.terminal_size]
version = "0.4.4"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tokio]
version = "1.51.1"
features = ["full"]
[dependencies.tokio-rustls]
version = "0.26"
[dependencies.tokio-util]
version = "0.7.17"
[dependencies.tracing]
version = "0.1.43"
[dependencies.tracing-subscriber]
version = "0.3.23"
features = ["env-filter"]
[dependencies.unicode-width]
version = "0.2.2"
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.23.0"
features = ["v4"]
[dependencies.whoami]
version = "2.1.1"
[dependencies.zeroize]
version = "1.8.2"
features = ["derive"]
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1.47"
[dev-dependencies.mockall]
version = "0.14"
[dev-dependencies.mockito]
version = "1.7.2"
[dev-dependencies.once_cell]
version = "1.21.4"
[dev-dependencies.serial_test]
version = "3.4"
[dev-dependencies.tempfile]
version = "3.27.0"
[dev-dependencies.tokio-test]
version = "0.4"
[target.'cfg(target_os = "macos")'.dependencies.security-framework]
version = "3.7.0"