# 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"
rust-version = "1.95"
name = "klauthed"
version = "0.5.0"
authors = [
    "Klauthed Authors <klauthed@klauthed.com>",
    "Ömer Ekmen <omer@klauthed.com>",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Umbrella starter crate for the klauthed framework — re-exports the klauthed-* libraries behind feature flags."
readme = "README.md"
keywords = [
    "auth",
    "oauth2",
    "oidc",
    "security",
    "framework",
]
categories = [
    "authentication",
    "web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/klauthed/rust-libraries"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
    "--cfg",
    "docsrs",
]

[features]
agent = [
    "discovery",
    "klauthed-discovery/agent",
]
cache-memory = [
    "data",
    "klauthed-data/cache-memory",
]
config-refresh = [
    "web",
    "klauthed-web/config-refresh",
]
config-server = [
    "core",
    "klauthed-core/config-server",
    "klauthed-web?/config-server",
]
consul = [
    "discovery",
    "klauthed-discovery/consul",
]
context-scope = [
    "web",
    "klauthed-web/context-scope",
]
core = [
    "dep:klauthed-core",
    "error",
]
data = [
    "dep:klauthed-data",
    "core",
]
default = ["core"]
discovery = [
    "dep:klauthed-discovery",
    "error",
]
error = ["dep:klauthed-error"]
eureka = [
    "discovery",
    "klauthed-discovery/eureka",
]
full = [
    "core",
    "error",
    "macros",
    "data",
    "discovery",
    "web",
    "observability",
    "i18n",
    "security",
    "platform",
    "protocol",
]
hot-reload = [
    "core",
    "klauthed-core/hot-reload",
]
i18n = [
    "dep:klauthed-i18n",
    "error",
]
kafka = [
    "data",
    "klauthed-data/kafka",
]
kubernetes = [
    "discovery",
    "klauthed-discovery/kubernetes",
]
macros = ["dep:klauthed-macros"]
metrics = [
    "observability",
    "klauthed-observability/metrics",
]
mysql = [
    "data",
    "klauthed-data/mysql",
]
nats = [
    "data",
    "klauthed-data/nats",
]
observability = [
    "dep:klauthed-observability",
    "core",
]
openapi = [
    "web",
    "klauthed-web/openapi",
]
otel = [
    "observability",
    "klauthed-observability/otel",
    "klauthed-web?/otel",
]
paseto = [
    "security",
    "klauthed-security/paseto",
]
platform = [
    "dep:klauthed-platform",
    "core",
]
postgres = [
    "data",
    "klauthed-data/postgres",
]
protocol = [
    "dep:klauthed-protocol",
    "error",
]
rabbitmq = [
    "data",
    "klauthed-data/rabbitmq",
]
redis = [
    "data",
    "klauthed-data/redis",
]
sealed = [
    "security",
    "klauthed-security/sealed",
]
security = [
    "dep:klauthed-security",
    "core",
]
sqlite = [
    "data",
    "klauthed-data/sqlite",
]
storage = [
    "data",
    "klauthed-data/storage",
]
storage-azure = [
    "data",
    "klauthed-data/storage-azure",
]
storage-gcs = [
    "data",
    "klauthed-data/storage-gcs",
]
storage-s3 = [
    "data",
    "klauthed-data/storage-s3",
]
swagger-ui = [
    "web",
    "klauthed-web/swagger-ui",
]
task-local = [
    "core",
    "klauthed-core/task-local",
]
testing = [
    "dep:klauthed-testing",
    "core",
]
tz = [
    "core",
    "klauthed-core/tz",
]
vault = [
    "core",
    "klauthed-core/vault",
]
web = [
    "dep:klauthed-web",
    "core",
]
webauthn = [
    "security",
    "klauthed-security/webauthn",
    "klauthed-web?/webauthn",
]

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

[[example]]
name = "quickstart"
path = "examples/quickstart.rs"

[[test]]
name = "umbrella"
path = "tests/umbrella.rs"

[dependencies.klauthed-core]
version = "0.5.0"
optional = true
default-features = false

[dependencies.klauthed-data]
version = "0.5.0"
optional = true

[dependencies.klauthed-discovery]
version = "0.5.0"
optional = true

[dependencies.klauthed-error]
version = "0.5.0"
optional = true

[dependencies.klauthed-i18n]
version = "0.5.0"
optional = true

[dependencies.klauthed-macros]
version = "0.5.0"
optional = true

[dependencies.klauthed-observability]
version = "0.5.0"
optional = true

[dependencies.klauthed-platform]
version = "0.5.0"
optional = true

[dependencies.klauthed-protocol]
version = "0.5.0"
optional = true

[dependencies.klauthed-security]
version = "0.5.0"
optional = true

[dependencies.klauthed-testing]
version = "0.5.0"
optional = true

[dependencies.klauthed-web]
version = "0.5.0"
optional = true
