[package]
edition = "2024"
name = "centaurus"
version = "0.7.0"
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]
all = [
"logging",
"axum",
"argon2",
"base64",
"chrono",
"hmac",
"http",
"jsonwebtoken",
"rsa",
"sea-orm",
"tokio",
"uuid",
"reqwest",
"metrics",
"error",
"auth",
"k8s",
"docker",
"frontend",
"url",
]
argon2 = ["dep:argon2"]
auth = [
"argon2",
"base64",
"error",
"rsa",
"serde",
"url",
"url/serde",
"jsonwebtoken",
"reqwest",
"dep:time",
"rand",
]
axum = [
"http",
"tokio",
"dep:axum",
"dep:tower-http",
"dep:tower",
"dep:axum-extra",
"error",
"serde_json",
"serde_xml",
"serde",
"dep:thiserror",
"dep:async-trait",
"dep:governor",
"dep:tower_governor",
"dep:dashmap",
"dep:tower-service",
"dep:addr",
"dep:url",
"dep:futures-util",
"config_site",
"url/serde",
"uuid",
"uuid/v4",
"openapi",
]
base64 = ["dep:base64"]
chrono = ["dep:chrono"]
config_site = ["centaurus-derive/site"]
default = [
"axum",
"logging",
"metrics",
"frontend",
]
docker = ["dep:bollard"]
error = ["dep:eyre"]
frontend = ["proxy"]
gravatar = [
"dep:md5",
"reqwest",
"base64",
]
hmac = ["dep:hmac"]
http = ["dep:http"]
image = ["dep:image"]
jsonwebtoken = ["dep:jsonwebtoken"]
k8s = [
"dep:k8s-openapi",
"dep:kube",
]
lettre = [
"dep:lettre",
"serde",
"error",
"http",
]
logging = [
"dep:color-eyre",
"dep:tracing-error",
"dep:tracing-subscriber",
"dep:tracing",
"serde",
]
metrics = [
"dep:metrics",
"dep:metrics-exporter-prometheus",
"centaurus-derive/metrics",
]
openapi = [
"dep:aide",
"dep:schemars",
"schemars/uuid1",
"schemars/url2",
]
proxy = [
"axum",
"dep:hyper-util",
]
reqwest = ["dep:reqwest"]
rsa = ["dep:rsa"]
sea-orm = [
"dep:sea-orm",
"dep:tracing",
"dep:sea-orm-migration",
"serde",
"error",
"chrono",
"uuid/v4",
"uuid",
]
serde = ["dep:serde"]
serde_json = ["dep:serde_json"]
serde_xml = ["dep:serde-xml-rs"]
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-json",
"axum-tokio",
"axum-query",
"axum-ws",
"axum-extra",
"axum-extra-cookie",
"axum-extra-headers",
"macros",
"swagger",
]
optional = true
[dependencies.argon2]
version = "0.5.3"
features = ["std"]
optional = true
[dependencies.async-trait]
version = "0.1.89"
optional = true
[dependencies.axum]
version = "0.8.8"
features = [
"multipart",
"macros",
"ws",
"tracing",
]
optional = true
[dependencies.axum-extra]
version = "0.12.5"
features = [
"typed-header",
"cookie",
]
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.2"
[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"
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 = [
"runtime",
"derive",
]
optional = true
[dependencies.lettre]
version = "0.11.21"
features = [
"smtp-transport",
"rustls",
"builder",
"rustls-native-certs",
"ring",
"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.0"
optional = true
[dependencies.reqwest]
version = "0.13.2"
features = [
"http2",
"system-proxy",
"charset",
"json",
"form",
]
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 = [
"sqlx-postgres",
"runtime-tokio-rustls",
]
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.thiserror]
version = "2.0.18"
optional = true
[dependencies.time]
version = "0.3.47"
optional = true
[dependencies.tokio]
version = "1.51.0"
features = ["full"]
optional = true
[dependencies.tower]
version = "0.5.3"
optional = true
[dependencies.tower-http]
version = "0.6.8"
features = [
"trace",
"cors",
]
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.0"
optional = true
[dependencies.webauthn-rs-core]
version = "0.5.4"
optional = true
default-features = false