shuttle-runtime 0.52.0

Runtime to run a service on the Shuttle platform (https://www.shuttle.dev)
Documentation
[package]
name = "shuttle-runtime"
version = "0.52.0"
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Runtime to run a service on the Shuttle platform (https://www.shuttle.dev)"
homepage = "https://www.shuttle.dev"

[lib]
doctest = false

[dependencies]
shuttle-api-client = { workspace = true }
shuttle-codegen = { workspace = true }
shuttle-common = { workspace = true }
shuttle-service = { workspace = true }

anyhow = { workspace = true }
async-trait = { workspace = true }
http-body = { workspace = true }
http-body-util = { workspace = true }
hyper = { workspace = true, features = ["http1", "server"] }
hyper-util = { workspace = true }
log = { version = "0.4", optional = true, default-features = false }
opentelemetry = { version = "0.27.0", optional = true, default-features = false, features = ["logs", "metrics", "trace", "tracing"] }
opentelemetry-otlp = { version = "0.27.0", optional = true, default-features = false, features = [
    "http-proto",
    "logs",
    "metrics",
    "reqwest-client",
    "trace",
] }
opentelemetry_sdk = { version = "0.27.0", optional = true, default-features = false, features = [
    "http",
    "logs",
    "metrics",
    "rt-tokio",
    "trace",
    "spec_unstable_logs_enabled",
] }
opentelemetry-semantic-conventions = { version = "0.27.0", optional = true, default-features = false, features = ["semconv_experimental"] }
serde = { workspace = true }
serde_json = { workspace = true }
strfmt = { workspace = true }
tokio = { workspace = true, features = ["full"] }
tracing = { workspace = true, features = ["attributes", "std"] }
tracing-core = { version = "0.1", optional = true, default-features = false, features = ["std"] }
tracing-log = { version = "0.2", optional = true, default-features = false, features = ["log-tracer", "std"] }
tracing-opentelemetry = { version = "0.28.0", optional = true, default-features = false, features = ["metrics"] }
tracing-subscriber = { workspace = true, optional = true, default-features = false }

[features]
default = ["setup-tracing"]
api-client-tracing = ["shuttle-api-client/tracing"]

setup-tracing = [
    "tracing-subscriber/ansi",
    "tracing-subscriber/env-filter",
    "tracing-subscriber/fmt",
    "tracing-subscriber/smallvec",
    "tracing-subscriber/std",
    "tracing-subscriber/tracing-log",
]
setup-otel-exporter = [
    "setup-tracing",
    "dep:log",
    "dep:opentelemetry",
    "dep:opentelemetry-otlp",
    "dep:opentelemetry_sdk",
    "dep:opentelemetry-semantic-conventions",
    "dep:tracing-core",
    "dep:tracing-log",
    "dep:tracing-opentelemetry",
    "tracing-subscriber/alloc",
    "tracing-subscriber/parking_lot",
    "tracing-subscriber/registry",
    "tracing-subscriber/tracing",
    "tracing-subscriber/tracing-serde",
]