[package]
name = "rnacos"
version = "0.5.22"
authors = ["heqingpan <heqingpan@126.com>"]
edition = "2018"
license = "Apache-2.0"
description = "Nacos server re-implemented in Rust."
homepage = "https://github.com/heqingpan/rnacos"
repository = "https://github.com/heqingpan/rnacos"
documentation = "https://docs.rs/rnacos/latest"
readme = "README.md"
keywords = ["nacos", "rnacos", "registry", "config"]
exclude = [
    ".github/*",
    "book/*",
    "deploy/*",
    "doc/*",
    "docker/*",
    "proto/*",
    "tools/*",
    "sdk-examples/*",
    "CHANGELOG.md",
    "Dockerfile",
    "test_cluster.sh",
]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[workspace]

members = [
    ".",
    "loadtest",
]

[[bin]]
name = "rnacos"
path = "src/main.rs"

[dependencies]
mimalloc = { version = "0.1", features = ["secure"] }
serde = { version = "1", features = ["derive", "rc"] }
serde_json = "1"
serde_urlencoded = "0.7"
actix-web = "4"
actix-http = "3"
actix = "0.13"
actix-rt = "2"
actix-multipart = "0.6"
actix-multipart-derive = "0.6"
log = "0.4"
env_logger = "0.11"
env_logger_timezone_fmt = "0.1.1"
rust-crypto = "0.2"
tokio = { version = "1", features = ["full"] }
tokio-stream = "0.1"
chrono = { version = "0.4", features = ["serde"] }
flate2 = "1.0"

tonic = "0.4"

async-trait = "0.1"
anyhow = "1"
mime = "0.3"
lazy_static = "1.4"
dotenv = "0.15"
#rust-embed="6.6.1"
mime_guess = { version = "2" }
# db
rusqlite = { version = "0.25", features = ["bundled"] }
rsql_builder = "0.1.5"
inner-mem-cache = "0.1.7"
rnacos-web-dist-wrap = "=0.3.20"
nacos_rust_client = "0.2"
zip = "0.6"
tempfile = "3"

# sled db
sled = "0.34"

# protobuf serde
prost = "0.7"
prost-derive = "0.7"
prost-types = "0.7"

# bytes
bytes = "1"
byteorder = "1.4"
tracing = "0.1.29"
tracing-subscriber = { version = "0.3.0", features = ["env-filter"] }
# reqwest = { version = "0.11", features = ["json"], default-features = false }
async-raft-ext = "0.6.3"
thiserror = "1.0.20"
clap = { version = "4.3", features = ["derive"] }

#inject
bean_factory = "0.1.4"

futures-util = "0.3.29"
regex = "1"
captcha = "0.0.9"
ratelimiter-rs = "0.1.5"
base64 = "0.21.5"
aes = "0.8"
block-modes = "0.8"
cbc = "0.1.2"

quick-protobuf = "0.8.1"
binrw = "0.13.3"
binrw_derive = "0.13.3"
sysinfo = "0.30.12"

[target.'cfg(any(target_os = "linux", target_os = "macos", target_os="windows"))'.dependencies]
fs2 = "0.4.3"

[dependencies.uuid]
version = "1.2.1"
features = [
    "v4",                # Lets you generate random UUIDs
    "fast-rng",          # Use a faster (but still sufficiently random) RNG
    "macro-diagnostics", # Enable better diagnostics for compile-time UUIDs
]

[build-dependencies]

[profile.release]
#opt-level = 3
#strip = true
#lto = true
