# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
name = "centaurus"
version = "0.14.2"
build = "build.rs"
exclude = ["CHANGELOG.md"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A utility library for various use cases."
readme = "README.md"
keywords = []
categories = []
license = "MIT OR Apache-2.0"
repository = "https://github.com/Profiidev/centaurus"

[features]
argon2 = ["dep:argon2"]
auth = [
    "argon2",
    "base64",
    "dep:time",
    "jsonwebtoken",
    "reqwest",
    "rsa",
    "url/serde",
    "centaurus-derive/auth",
    "sha2",
]
avatar = [
    "base64",
    "db",
    "gravatar",
    "image",
    "reqwest",
]
backend = [
    "dep:addr",
    "dep:async-trait",
    "dep:axum",
    "dep:axum-extra",
    "dep:dashmap",
    "dep:governor",
    "dep:tower",
    "dep:tower_governor",
    "dep:tower-http",
    "dep:tower-service",
    "dep:tracing",
    "dep:url",
    "error",
    "http",
    "serde",
    "serde_json",
    "tokio",
]
base64 = ["dep:base64"]
chrono = ["dep:chrono"]
config_site = [
    "centaurus-derive/site",
    "url",
]
db = [
    "chrono",
    "dep:sea-orm",
    "dep:sea-orm-migration",
    "dep:tracing",
    "error",
    "serde",
    "serde_json",
    "uuid",
    "uuid/v4",
]
default = [
    "avatar",
    "endpoints",
    "logging",
    "frontend",
    "metrics",
]
docker = ["dep:bollard"]
endpoints = [
    "auth",
    "backend",
    "config_site",
    "db",
    "dep:futures-util",
    "dep:rand",
    "mail",
    "openapi",
]
error = ["dep:eyre"]
fix-migrations = []
frontend = ["proxy"]
gravatar = ["dep:md5"]
hmac = ["dep:hmac"]
http = ["dep:http"]
http3 = ["reqwest/http3"]
image = ["dep:image"]
jsonwebtoken = ["dep:jsonwebtoken"]
k8s = [
    "dep:k8s-openapi",
    "dep:kube",
]
logging = [
    "dep:color-eyre",
    "dep:tracing",
    "dep:tracing-error",
    "dep:tracing-subscriber",
    "serde",
]
mail = [
    "dep:lettre",
    "error",
    "serde",
    "tokio",
    "centaurus-derive/mail",
]
metrics = [
    "dep:metrics",
    "dep:metrics-exporter-prometheus",
    "centaurus-derive/metrics",
]
openapi = [
    "backend",
    "dep:aide",
    "dep:schemars",
    "schemars/url2",
    "schemars/uuid1",
]
proxy = [
    "backend",
    "dep:hyper-util",
]
req_xml = [
    "dep:thiserror",
    "serde_xml",
]
reqwest = ["dep:reqwest"]
rsa = ["dep:rsa"]
serde = ["dep:serde"]
serde_json = ["dep:serde_json"]
serde_xml = ["dep:serde-xml-rs"]
sha2 = ["dep:sha2"]
storage = [
    "dep:aws-config",
    "dep:aws-sdk-s3",
    "logging",
    "serde",
    "dep:tokio",
    "error",
    "http",
    "dep:tokio-util",
    "dep:axum",
]
tokio = ["dep:tokio"]
url = ["dep:url"]
uuid = ["dep:uuid"]
webauthn = ["dep:webauthn-rs-core"]

[lib]
name = "centaurus"
path = "src/lib.rs"

[dependencies.addr]
version = "0.15.6"
optional = true

[dependencies.aide]
version = "0.16.0-alpha.3"
features = [
    "axum",
    "axum-extra",
    "axum-extra-cookie",
    "axum-extra-headers",
    "axum-json",
    "axum-query",
    "axum-tokio",
    "axum-ws",
    "macros",
    "swagger",
]
optional = true

[dependencies.argon2]
version = "0.5.3"
features = ["std"]
optional = true

[dependencies.async-trait]
version = "0.1.89"
optional = true

[dependencies.aws-config]
version = "1.8.15"
features = ["behavior-version-latest"]
optional = true

[dependencies.aws-sdk-s3]
version = "1.129.0"
features = ["behavior-version-latest"]
optional = true

[dependencies.axum]
version = "0.8.9"
features = [
    "macros",
    "multipart",
    "tracing",
    "ws",
]
optional = true

[dependencies.axum-extra]
version = "0.12.6"
features = [
    "cookie",
    "typed-header",
]
optional = true

[dependencies.base64]
version = "0.22.1"
optional = true

[dependencies.bollard]
version = "0.20.2"
optional = true
default-features = false

[dependencies.centaurus-derive]
version = "0.1.4"

[dependencies.chrono]
version = "0.4.44"
features = ["serde"]
optional = true

[dependencies.color-eyre]
version = "0.6.5"
optional = true

[dependencies.dashmap]
version = "6.1.0"
optional = true

[dependencies.eyre]
version = "0.6.12"
optional = true

[dependencies.futures-util]
version = "0.3.32"
optional = true

[dependencies.governor]
version = "0.10.4"
optional = true

[dependencies.hmac]
version = "0.13.0"
optional = true

[dependencies.http]
version = "1.4.0"
optional = true

[dependencies.hyper-util]
version = "0.1.20"
features = ["client-legacy"]
optional = true

[dependencies.image]
version = "0.25.10"
features = [
    "jpeg",
    "png",
    "webp",
]
optional = true
default-features = false

[dependencies.jsonwebtoken]
version = "10.3.0"
features = ["rust_crypto"]
optional = true

[dependencies.k8s-openapi]
version = "0.27.1"
features = [
    "latest",
    "schemars",
]
optional = true

[dependencies.kube]
version = "3.1.0"
features = [
    "derive",
    "runtime",
]
optional = true

[dependencies.lettre]
version = "0.11.21"
features = [
    "builder",
    "ring",
    "rustls",
    "rustls-native-certs",
    "smtp-transport",
    "tokio1-rustls",
]
optional = true
default-features = false

[dependencies.md5]
version = "0.8.0"
optional = true

[dependencies.metrics]
version = "0.24.3"
optional = true

[dependencies.metrics-exporter-prometheus]
version = "0.18.1"
optional = true
default-features = false

[dependencies.rand]
version = "0.10.1"
optional = true

[dependencies.reqwest]
version = "0.13.2"
features = [
    "charset",
    "form",
    "http2",
    "json",
    "system-proxy",
]
optional = true
default-features = false

[dependencies.rsa]
version = "0.9.10"
optional = true

[dependencies.schemars]
version = "1.2.1"
optional = true

[dependencies.sea-orm]
version = "1.1.20"
features = [
    "runtime-tokio-rustls",
    "sqlx-postgres",
]
optional = true

[dependencies.sea-orm-migration]
version = "1.1.20"
optional = true

[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true

[dependencies.serde-xml-rs]
version = "0.8.2"
optional = true

[dependencies.serde_json]
version = "1.0.149"
optional = true

[dependencies.sha2]
version = "0.11.0"
optional = true

[dependencies.thiserror]
version = "2.0.18"
optional = true

[dependencies.time]
version = "0.3.47"
optional = true

[dependencies.tokio]
version = "1.52.1"
features = ["full"]
optional = true

[dependencies.tokio-util]
version = "0.7.18"
features = ["io"]
optional = true

[dependencies.tower]
version = "0.5.3"
optional = true

[dependencies.tower-http]
version = "0.6.8"
features = [
    "cors",
    "trace",
]
optional = true

[dependencies.tower-service]
version = "0.3.3"
optional = true

[dependencies.tower_governor]
version = "0.8.0"
features = ["axum"]
optional = true
default-features = false

[dependencies.tracing]
version = "0.1.44"
features = ["std"]
optional = true

[dependencies.tracing-error]
version = "0.2.1"
optional = true

[dependencies.tracing-subscriber]
version = "=0.3.19"
optional = true

[dependencies.url]
version = "2.5.8"
optional = true

[dependencies.uuid]
version = "1.23.1"
optional = true

[dependencies.webauthn-rs-core]
version = "0.5.4"
optional = true
default-features = false
