mirror of
https://github.com/CloudNebulaProject/vm-manager.git
synced 2026-04-10 13:20:41 +00:00
libssh2 cannot handle all OpenSSH private key formats (e.g. passphrase- protected or newer ed25519 keys), causing auth failures. Instead of referencing the user's ~/.ssh keys, generate a fresh Ed25519 keypair at resolve time when the VMFile omits ssh-key and private-key. The public key is injected into cloud-init and the private PEM is persisted to the VM's work directory so that provision, reload, and ssh commands can reuse it. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
38 lines
787 B
TOML
38 lines
787 B
TOML
[package]
|
|
name = "vm-manager"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
rust-version.workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
pure-iso = ["dep:isobemak"]
|
|
|
|
[dependencies]
|
|
tokio.workspace = true
|
|
miette.workspace = true
|
|
thiserror.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
reqwest.workspace = true
|
|
tracing.workspace = true
|
|
uuid.workspace = true
|
|
tempfile.workspace = true
|
|
futures-util.workspace = true
|
|
zstd.workspace = true
|
|
dirs.workspace = true
|
|
kdl.workspace = true
|
|
|
|
# Optional pure-Rust ISO generation
|
|
isobemak = { version = "0.2", optional = true }
|
|
|
|
# SSH
|
|
ssh2 = "0.9"
|
|
ssh-key.workspace = true
|
|
|
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(target_os = "illumos")'.dependencies]
|
|
tokio-tungstenite = "0.26"
|