content: [package]
  name = "metering"
  version = "0.1.0"
  rust-version.workspace = true
  edition.workspace = true
  license.workspace = true
  
  [dependencies]
  rand.workspace = true
  async-trait.workspace = true
  cached = { workspace = true, features = ["async", "tokio", "redis_store", "redis_tokio"] }
  chrono = { workspace = true, features = ["clock", "serde"] }
  chrono-tz.workspace = true
  common-build-info.workspace = true
  common-config.workspace = true
  common-logging.workspace = true
  common-grpc-error-as-tonic-macros = { workspace = true }
  common-grpc-error-as-tonic-macros-impl = { workspace = true }
  common-domain = { workspace = true, features = ["tonic"] }
  dotenvy.workspace = true
  envconfig.workspace = true
  error-stack.workspace = true
  futures.workspace = true
  log.workspace = true
  metering-grpc = { workspace = true, features = ["server"] }
  meteroid-grpc = { workspace = true, features = ["client"] }
  common-grpc = { workspace = true, features = ["server", "client"] }
  rust_decimal = { workspace = true }
  serde.workspace = true
  serde_json.workspace = true
  thiserror.workspace = true
  tokio = { workspace = true, features = ["full"] }
  tonic.workspace = true
  tonic-health.workspace = true
  tonic-reflection.workspace = true
  tower = { workspace = true }
  tower-layer = { workspace = true }
  hyper = { workspace = true }
  tracing = { workspace = true }
  tonic-tracing-opentelemetry.workspace = true
  once_cell = { workspace = true }
  opentelemetry = { workspace = true }
  uuid = { workspace = true, features = ["v4"] }
  prost-types.workspace = true
  quick_cache.workspace = true
  fixnum = { workspace = true, features = ["serde", "i128"] }
  
  # kafka ingest deps
  kafka = { workspace = true, optional = true }
  rdkafka = { workspace = true, features = ["ssl", "sasl"], optional = true }
  
  # clickhosue connector deps
  clickhouse = { workspace = true, features = ["chrono"], optional = true }
  klickhouse = { workspace = true, default-features = false, features = ["refinery", "compression"], optional = true }
  refinery = { workspace = true, features = ["default"], optional = true }
  
  [[bin]]
  name = "metering-api"
  path = "src/bin/server.rs"
  
  [features]
  default = ["clickhouse", "kafka"]
  kafka = ["dep:kafka", "dep:rdkafka"]
  clickhouse = ["dep:clickhouse", "dep:klickhouse", "dep:refinery"]
  openstack = []
  