[package]
name = "golem-common"
version = "1.1.8"
edition = "2021"
license = "Apache-2.0"
homepage = "https://golem.cloud"
repository = "https://github.com/golemcloud/golem"
description = "Shared code between Golem services"
[features]
default = ["config", "observability", "poem", "protobuf", "redis", "sql", "tokio"]
config = ["dep:figment"]
observability = ["dep:console-subscriber", "dep:prometheus", "dep:tracing", "dep:tracing-subscriber", "dep:tracing-serde"]
poem = ["dep:poem", "dep:poem-openapi", "golem-wasm-ast/poem_openapi", "golem-wasm-ast/poem_openapi", "golem-rib/poem"]
protobuf = ["dep:prost", "dep:prost-types", "dep:tonic", "dep:golem-api-grpc", "golem-rib/protobuf", "golem-wasm-ast/protobuf", "golem-wasm-rpc/protobuf"]
redis = ["dep:fred"]
sql = ["dep:sqlx"]
tokio = ["dep:tokio"]
[lib]
harness = false
[dependencies]
golem-api-grpc = { path = "../golem-api-grpc", version = "1.1.8", optional = true }
golem-rib = { path = "../golem-rib", version = "1.1.8", default-features = false, features = ["protobuf", "poem", "json_in_errors"] }
golem-wasm-ast = { path = "../wasm-ast", version = "1.1.8", default-features = false, features = ["metadata"] }
golem-wasm-rpc = { path = "../wasm-rpc", version = "1.1.8", default-features = false, features = ["host"] }
anyhow = { workspace = true }
async-trait = { workspace = true }
bincode = { workspace = true }
bytes = { workspace = true }
chrono = { workspace = true }
combine = { workspace = true }
console-subscriber = { workspace = true, optional = true }
dashmap = { workspace = true }
derive_more = { workspace = true }
figment = { workspace = true, optional = true }
fred = { workspace = true, optional = true }
git-version = { workspace = true }
http = { workspace = true }
humantime-serde = { workspace = true }
iso8601-timestamp = { workspace = true }
itertools = { workspace = true }
lazy_static = { workspace = true }
poem = { workspace = true, optional = true }
poem-openapi = { workspace = true, optional = true }
prometheus = { workspace = true, optional = true }
prost = { workspace = true, optional = true }
prost-types = { workspace = true, optional = true }
rand = { workspace = true }
range-set-blaze = "0.1.16"
regex = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
serde_yaml = { workspace = true }
sqlx = { workspace = true, optional = true }
thiserror = { workspace = true }
toml = { workspace = true }
tokio = { workspace = true, optional = true }
tonic = { workspace = true, optional = true }
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
tracing-serde = { workspace = true, optional = true }
typed-path = { workspace = true }
url = { workspace = true }
uuid = { workspace = true }
[dev-dependencies]
anyhow = { workspace = true }
test-r = { workspace = true }
tracing-test = { workspace = true }