# 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 = "2021"
name = "alien-bindings"
version = "1.3.5"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Alien platform runtime bindings"
readme = "README.md"
license-file = "LICENSE.md"

[features]
all-platforms = [
    "aws",
    "gcp",
    "azure",
    "kubernetes",
    "local",
    "test",
]
aws = [
    "object_store/aws",
    "dep:base64",
    "dep:alien-aws-clients",
    "alien-client-config/aws",
]
azure = [
    "object_store/azure",
    "dep:base64",
    "dep:alien-azure-clients",
    "alien-client-config/azure",
]
default = [
    "grpc",
    "all-platforms",
]
gcp = [
    "object_store/gcp",
    "dep:base64",
    "dep:alien-gcp-clients",
    "alien-client-config/gcp",
]
grpc = [
    "dep:tonic",
    "dep:prost",
    "dep:prost-types",
    "dep:tokio-stream",
    "dep:tonic-reflection",
    "dep:async-stream",
]
kubernetes = [
    "dep:alien-k8s-clients",
    "dep:k8s-openapi",
    "alien-client-config/kubernetes",
]
local = [
    "object_store/fs",
    "dep:oci-client",
    "dep:sled",
    "dep:sha2",
    "tokio/fs",
    "tokio/process",
    "alien-core/local",
]
openapi = ["dep:utoipa"]
platform-sdk = ["dep:alien-platform-api"]
test = []

[lib]
name = "alien_bindings"
crate-type = ["rlib"]
path = "src/lib.rs"

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

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

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

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

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

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

[dependencies.alien-aws-clients]
version = "1.3.5"
optional = true

[dependencies.alien-azure-clients]
version = "1.3.5"
optional = true

[dependencies.alien-client-config]
version = "1.3.5"

[dependencies.alien-client-core]
version = "1.3.5"

[dependencies.alien-core]
version = "1.3.5"

[dependencies.alien-error]
version = "1.3.5"
features = ["anyhow"]

[dependencies.alien-gcp-clients]
version = "1.3.5"
optional = true

[dependencies.alien-k8s-clients]
version = "1.3.5"
optional = true

[dependencies.alien-platform-api]
version = "1.3.5"
features = ["rustls"]
optional = true
default-features = false

[dependencies.async-stream]
version = "0.3"
optional = true

[dependencies.async-trait]
version = "0.1.88"

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

[dependencies.bytes]
version = "1.10.1"

[dependencies.chrono]
version = "0.4.40"
features = ["serde"]

[dependencies.futures]
version = "0.3.31"

[dependencies.k8s-openapi]
version = "0.25.0"
features = ["v1_33"]
optional = true

[dependencies.object_store]
version = "0.12.2"
features = ["tls-webpki-roots"]

[dependencies.oci-client]
version = "0.15"
features = ["rustls-tls-native-roots"]
optional = true
default-features = false

[dependencies.prost]
version = "0.13"
optional = true

[dependencies.prost-types]
version = "0.13"
optional = true

[dependencies.regex]
version = "1"

[dependencies.reqwest]
version = "0.12.2"
features = ["rustls-tls-webpki-roots"]
default-features = false

[dependencies.serde]
version = "1.0.219"
features = ["derive"]

[dependencies.serde_json]
version = "1.0.140"

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

[dependencies.sled]
version = "0.34"
optional = true

[dependencies.tokio]
version = "1.48"
features = [
    "sync",
    "macros",
    "io-util",
    "rt",
    "time",
    "sync",
    "macros",
    "rt",
    "time",
    "io-util",
]

[dependencies.tokio-stream]
version = "0.1"
optional = true

[dependencies.tonic]
version = "0.13"
optional = true

[dependencies.tonic-reflection]
version = "0.13.1"
optional = true

[dependencies.tracing]
version = "0.1.41"

[dependencies.url]
version = "2.5.4"

[dependencies.utoipa]
version = "5.4"
features = [
    "indexmap",
    "chrono",
]
optional = true

[dependencies.uuid]
version = "1"
features = [
    "v4",
    "serde",
]

[dev-dependencies.alien-aws-clients]
version = "1.3.5"
features = ["test-utils"]

[dev-dependencies.async-trait]
version = "0.1.88"

[dev-dependencies.base64]
version = "0.22"

[dev-dependencies.dotenvy]
version = "0.15.7"

[dev-dependencies.rstest]
version = "0.25.0"

[dev-dependencies.serde_json]
version = "1.0.140"

[dev-dependencies.temp-env]
version = "0.3"
features = ["async_closure"]

[dev-dependencies.tempfile]
version = "3.10"

[dev-dependencies.test-context]
version = "0.4"

[dev-dependencies.tokio]
version = "1.48"
features = [
    "sync",
    "macros",
    "io-util",
    "rt",
    "time",
    "macros",
    "rt-multi-thread",
]

[dev-dependencies.tracing-subscriber]
version = "0.3.19"

[dev-dependencies.uuid]
version = "1"
features = [
    "v4",
    "serde",
]

[dev-dependencies.workspace_root]
version = "0.1"

[build-dependencies.tonic-build]
version = "0.13"

[target."cfg(unix)".dev-dependencies.sec]
version = "1"
