[package] name = "mas-cli" version = "0.1.0" authors = ["Quentin Gliech "] edition = "2021" license = "Apache-2.0" [dependencies] apalis-core = "0.4.2" anyhow = "1.0.71" atty = "0.2.14" axum = "0.6.18" camino = "1.1.4" clap = { version = "4.3.11", features = ["derive"] } dotenv = "0.15.0" httpdate = "1.0.2" hyper = { version = "0.14.27", features = ["full"] } itertools = "0.11.0" listenfd = "1.0.1" rand = "0.8.5" rand_chacha = "0.3.1" rustls = "0.21.3" serde_json = "1.0.100" serde_yaml = "0.9.22" sqlx = { version = "0.6.3", features = ["runtime-tokio-rustls", "postgres"] } tokio = { version = "1.29.1", features = ["full"] } tower = { version = "0.4.13", features = ["full"] } tower-http = { version = "0.4.1", features = ["fs"] } url = "2.4.0" watchman_client = "0.8.0" zeroize = "1.6.0" tracing = "0.1.37" tracing-appender = "0.2.2" tracing-subscriber = { version = "0.3.17", features = ["env-filter"] } tracing-opentelemetry = "0.19.0" opentelemetry = { version = "0.19.0", features = ["trace", "metrics", "rt-tokio"] } opentelemetry-semantic-conventions = "0.11.0" opentelemetry-jaeger = { version = "0.18.0", features = ["rt-tokio", "collector_client"], optional = true } opentelemetry-otlp = { version = "0.12.0", features = ["trace", "metrics"], optional = true } opentelemetry-zipkin = { version = "0.17.0", features = ["opentelemetry-http"], default-features = false, optional = true } opentelemetry-http = { version = "0.8.0", features = ["tokio", "hyper"], optional = true } opentelemetry-prometheus = { version = "0.12.0", optional = true } prometheus = { version = "0.13.3", optional = true } sentry = { version = "0.31.5", default-features = false, features = ["backtrace", "contexts", "panic", "tower"] } sentry-tracing = "0.31.5" sentry-tower = { version = "0.31.5", features = ["http"] } mas-config = { path = "../config" } mas-data-model = { path = "../data-model" } mas-email = { path = "../email" } mas-handlers = { path = "../handlers", default-features = false } mas-http = { path = "../http", default-features = false, features = ["axum", "client"] } mas-iana = { path = "../iana" } mas-listener = { path = "../listener" } mas-matrix = { path = "../matrix" } mas-matrix-synapse = { path = "../matrix-synapse" } mas-policy = { path = "../policy" } mas-router = { path = "../router" } mas-spa = { path = "../spa" } mas-storage = { path = "../storage" } mas-storage-pg = { path = "../storage-pg" } mas-tasks = { path = "../tasks" } mas-templates = { path = "../templates" } mas-tower = { path = "../tower" } oauth2-types = { path = "../oauth2-types" } [dev-dependencies] indoc = "2.0.2" [features] default = ["jaeger", "zipkin", "webpki-roots", "policy-cache"] # Features used in the Docker image docker = ["otlp", "jaeger", "zipkin", "prometheus", "native-roots", "mas-config/docker"] # Enable wasmtime compilation cache policy-cache = ["mas-policy/cache"] # Use the native root certificates native-roots = ["mas-http/native-roots", "mas-handlers/native-roots"] # Use the webpki root certificates webpki-roots = ["mas-http/webpki-roots", "mas-handlers/webpki-roots"] # Enable OpenTelemetry OTLP exporter. Requires protoc. otlp = ["dep:opentelemetry-otlp"] # Enable OpenTelemetry Jaeger exporter and propagator. jaeger = ["dep:opentelemetry-jaeger", "dep:opentelemetry-http"] # Enable OpenTelemetry Zipkin exporter and B3 propagator. zipkin = ["dep:opentelemetry-zipkin", "dep:opentelemetry-http"] # Enable OpenTelemetry Prometheus exporter. Requires "protoc" prometheus = ["dep:opentelemetry-prometheus", "dep:prometheus"]