[package] name = "lnvps_api" version = "0.1.0" edition = "2021" [[bin]] name = "lnvps_api" path = "src/bin/api.rs" [features] default = [ "mikrotik", "nostr-dm", "nostr-dvm", "nostr-domain", "proxmox", "lnd", "cloudflare", "revolut", "bitvora", "tokio/sync", "tokio/io-util" ] mikrotik = ["dep:reqwest"] nostr-dm = ["dep:nostr-sdk"] nostr-dvm = ["dep:nostr-sdk"] nostr-domain = ["lnvps_db/nostr-domain"] proxmox = ["dep:reqwest", "dep:ssh2", "dep:tokio-tungstenite"] libvirt = ["dep:virt", "dep:uuid", "dep:quick-xml"] lnd = ["dep:fedimint-tonic-lnd"] bitvora = ["dep:reqwest", "dep:tokio-stream"] cloudflare = ["dep:reqwest"] revolut = ["dep:reqwest", "dep:sha2", "dep:hmac"] [dependencies] lnvps_db = { path = "../lnvps_db" } lnvps_common = { path = "../lnvps_common" } anyhow.workspace = true log.workspace = true env_logger.workspace = true tokio.workspace = true config.workspace = true serde.workspace = true serde_json.workspace = true rocket.workspace = true hex.workspace = true rocket_okapi = { version = "0.9.0", features = ["swagger"] } schemars = { version = "0.8.22", features = ["chrono"] } chrono = { version = "0.4.38", features = ["serde"] } base64 = { version = "0.22.1", features = ["alloc"] } urlencoding = "2.1.3" ipnetwork = { git = "https://git.v0l.io/Kieran/ipnetwork.git", rev = "35977adc8103cfc232bc95fbc32f4e34f2b6a6d7" } rand = "0.9.0" clap = { version = "4.5.21", features = ["derive"] } ssh-key = "0.6.7" lettre = { version = "0.11.10", features = ["tokio1-native-tls"] } ws = { package = "rocket_ws", version = "0.1.1" } native-tls = "0.2.12" lnurl-rs = { version = "0.9.0", default-features = false } mustache = "0.9.0" futures = "0.3.31" isocountry = "0.3.2" #nostr-dm nostr = { version = "0.40.0", default-features = false, features = ["std"] } nostr-sdk = { version = "0.40.0", optional = true, default-features = false, features = ["nip44", "nip59"] } #proxmox tokio-tungstenite = { version = "^0.21", features = ["native-tls"], optional = true } ssh2 = { version = "0.9.4", optional = true } reqwest = { version = "0.12.8", optional = true } #libvirt virt = { git = "https://gitlab.com/libvirt/libvirt-rust.git", optional = true } #virtxml = {git = "https://gitlab.com/libvirt/libvirt-rust-xml.git", optional = true} uuid = { version = "1.16.0", features = ["v4", "serde"], optional = true } quick-xml = { version = "0.37.3", features = ["serde", "serialize"], optional = true } #lnd fedimint-tonic-lnd = { version = "0.2.0", default-features = false, features = ["invoicesrpc"], optional = true } #bitvora tokio-stream = { version = "0.1.17", features = ["sync"], optional = true } #revolut sha2 = { version = "0.10.8", optional = true } hmac = { version = "0.12.1", optional = true }