content: [workspace]
  resolver = "2"
  members = [
  	"bin/*",
  	"lib/*",
  	"client/core/rs",
  	"client/periphery/rs",
  ]
  
  [workspace.package]
  version = "1.19.5"
  edition = "2024"
  authors = ["mbecker20 <becker.maxh@gmail.com>"]
  license = "GPL-3.0-or-later"
  repository = "https://github.com/moghtech/komodo"
  homepage = "https://komo.do"
  
  [profile.release]
  strip = "debuginfo"
  
  [workspace.dependencies]
  # LOCAL
  komodo_client = { path = "client/core/rs" }
  periphery_client = { path = "client/periphery/rs" }
  environment_file = { path = "lib/environment_file" }
  environment = { path = "lib/environment" }
  interpolate = { path = "lib/interpolate" }
  formatting = { path = "lib/formatting" }
  database = { path = "lib/database" }
  response = { path = "lib/response" }
  command = { path = "lib/command" }
  config = { path = "lib/config" }
  logger = { path = "lib/logger" }
  cache = { path = "lib/cache" }
  git = { path = "lib/git" }
  
  # MOGH
  run_command = { version = "0.0.6", features = ["async_tokio"] }
  serror = { version = "0.5.1", default-features = false }
  slack = { version = "0.4.0", package = "slack_client_rs", default-features = false, features = ["rustls"] }
  derive_default_builder = "0.1.8"
  derive_empty_traits = "0.1.0"
  async_timing_util = "1.0.0"
  partial_derive2 = "0.4.3"
  derive_variants = "1.0.0"
  mongo_indexed = "2.0.2"
  resolver_api = "3.0.0"
  toml_pretty = "1.2.0"
  mungos = "3.2.2"
  svi = "1.2.0"
  
  # ASYNC
  reqwest = { version = "0.12.23", default-features = false, features = ["json", "stream", "rustls-tls-native-roots"] }
  tokio = { version = "1.47.1", features = ["full"] }
  tokio-util = { version = "0.7.16", features = ["io", "codec"] }
  tokio-stream = { version = "0.1.17", features = ["sync"] }
  pin-project-lite = "0.2.16"
  futures = "0.3.31"
  futures-util = "0.3.31"
  arc-swap = "1.7.1"
  
  # SERVER
  tokio-tungstenite = { version = "0.27.0", features = ["rustls-tls-native-roots"] }
  axum-extra = { version = "0.10.1", features = ["typed-header"] }
  tower-http = { version = "0.6.6", features = ["fs", "cors"] }
  axum-server = { version = "0.7.2", features = ["tls-rustls"] }
  axum = { version = "0.8.4", features = ["ws", "json", "macros"] }
  
  # SER/DE
  ipnetwork = { version = "0.21.1", features = ["serde"] }
  indexmap = { version = "2.11.1", features = ["serde"] }
  serde = { version = "1.0.219", features = ["derive"] }
  strum = { version = "0.27.2", features = ["derive"] }
  bson = { version = "2.15.0" } # must keep in sync with mongodb version
  serde_yaml_ng = "0.10.0"
  serde_json = "1.0.145"
  serde_qs = "0.15.0"
  toml = "0.9.5"
  
  # ERROR
  anyhow = "1.0.99"
  thiserror = "2.0.16"
  
  # LOGGING
  opentelemetry-otlp = { version = "0.30.0", features = ["tls-roots", "reqwest-rustls"] }
  opentelemetry_sdk = { version = "0.30.0", features = ["rt-tokio"] }
  tracing-subscriber = { version = "0.3.20", features = ["json"] }
  opentelemetry-semantic-conventions = "0.30.0"
  tracing-opentelemetry = "0.31.0"
  opentelemetry = "0.30.0"
  tracing = "0.1.41"
  
  # CONFIG
  clap = { version = "4.5.47", features = ["derive"] }
  dotenvy = "0.15.7"
  envy = "0.4.2"
  
  # CRYPTO / AUTH
  uuid = { version = "1.18.1", features = ["v4", "fast-rng", "serde"] }
  jsonwebtoken = { version = "9.3.1", default-features = false }
  openidconnect = "4.0.1"
  urlencoding = "2.1.3"
  nom_pem = "4.0.0"
  bcrypt = "0.17.1"
  base64 = "0.22.1"
  rustls = "0.23.31"
  hmac = "0.12.1"
  sha2 = "0.10.9"
  rand = "0.9.2"
  hex = "0.4.3"
  
  # SYSTEM
  portable-pty = "0.9.0"
  bollard = "0.19.2"
  sysinfo = "0.37.0"
  
  # CLOUD
  aws-config = "1.8.6"
  aws-sdk-ec2 = "1.167.0"
  aws-credential-types = "1.2.6"
  
  ## CRON
  english-to-cron = "0.1.6"
  chrono-tz = "0.10.4"
  chrono = "0.4.42"
  croner = "3.0.0"
  
  # MISC
  async-compression = { version = "0.4.30", features = ["tokio", "gzip"] }
  derive_builder = "0.20.2"
  comfy-table = "7.2.1"
  typeshare = "1.0.4"
  octorust = "0.10.0"
  dashmap = "6.1.0"
  wildcard = "0.3.0"
  colored = "3.0.0"
  regex = "1.11.2"
  bytes = "1.10.1"
  shell-escape = "0.1.5"