[package]
edition = "2021"
authors = ["Manuel Sopena Ballesteros <msopena@cscs.ch>"]
name = "mesa"
description = "A library for Shasta"
version = "0.42.3-beta.90"
license-file = "LICENSE"
documentation = "https://github.com/eth-cscs/mesa/blob/main/README.md"
homepage = "https://github.com/eth-cscs/mesa/blob/main/README.md"
repository = "https://github.com/eth-cscs/mesa"
publish = true

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

[dependencies]
# backend-dispatcher = { path = "../backend-dispatcher" } # Only for development purposes
backend-dispatcher = "0.1.53"
chrono = { version = "0.4.31", default-features = false }
substring = "1.4.5"
strum = { version = "0.25.0", default-features = false }
strum_macros = "0.25"
anyhow = { version = "1.0.44", default-features = false }
thiserror = "1.0.56"
hostlist-parser = "0.1.6"
reqwest = { version = "0.11", default-features = false }
serde = { version = "1.0.145", default-features = false }
serde_json = "1.0"
serde_yaml = "0.9.17"
log = "0.4.17"
log4rs = { version = "1.2.0" }
tokio = { version = "1.14", features = ["full"] }
tokio-rustls = { version = "0.24.0", default-features = false }
tokio-util = "0.7.4"       # used by manta_console to create a read stream from container stdout
tokio-stream = { version = "0.1.11", default-features = false }
kube = { version = "0.87.2", features = ["ws"] }
k8s-openapi = { version = "0.20.0", features = ["v1_26"] }
rustls-pemfile = "1.0.3"
# https://github.com/kube-rs/kube-rs/discussions/1012 and https://crates.io/crates/hyper-socks2
hyper-socks2 = { version = "0.8.0", default-features = false } # needed by kube-rs (to operate with kube api) 
hyper = { version = "0.14" } # needed by kube-rs (to operate with kube api)
hyper-rustls = { version = "0.24.0", default-features = false }
tower = { version = "0.4.13", default-features = false }
futures = { version = "0.3.28", default-features = false }
dialoguer = { version = "0.10.2", features = ["password"], default-features = false }
git2 = { version = "0.18.1", default-features = false }
regex = "1.6.0"
directories = "4.0.1" # XDG Base Directory Specification
config = { version = "0.13.2", features = ["ron"], default-features = false }
secrecy = { version = "0.8.0", default-features = false }
termion = "2.0.1" # used by manta_console to enable terminal raw
base64 = { version = "0.13.1", default-features = false }
aws-sdk-s3 = { version = "1.12.0", features = ["rustls"], default-features = false }
aws-config = { version = "1.1.2", default-features = false }
aws-smithy-runtime = { version = "1.0.1" }
aws-smithy-types = { version = "1.1.2", features = ["rt-tokio"] }
indicatif = { version = "0.17.7", default-features = false }
uuid = { version = "1.10.0", features = ["fast-rng", "v4"] }
globset = { version = "0.4.14", default-features = false }
humansize = "2.0.0"
md5 = { version = "0.7.0", default-features = false }

[profile.release]
opt-level = "s" # Tell `rustc` to optimize for small code size.
#incremental = true
debug = 1

# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
