[package] name = "mas-cli" version = "0.1.0" authors = ["Quentin Gliech "] edition = "2021" license = "Apache-2.0" [dependencies] anyhow = "1.0.66" atty = "0.2.14" axum = "0.6.1" camino = "1.1.1" clap = { version = "4.0.29", features = ["derive"] } dotenv = "0.15.0" futures-util = "0.3.25" hyper = { version = "0.14.23", features = ["full"] } itertools = "0.10.5" listenfd = "1.0.0" rand = "0.8.5" rand_chacha = "0.3.1" rustls = "0.20.7" serde_json = "1.0.89" serde_yaml = "0.9.14" sqlx = { version = "0.6.2", features = ["runtime-tokio-rustls", "postgres"] } tokio = { version = "1.23.0", features = ["full"] } tower = { version = "0.4.13", features = ["full"] } tower-http = { version = "0.3.5", features = ["fs", "compression-full"] } url = "2.3.1" watchman_client = "0.8.0" tracing = "0.1.37" tracing-appender = "0.2.2" tracing-subscriber = { version = "0.3.16", features = ["env-filter"] } tracing-opentelemetry = "0.18.0" opentelemetry = { version = "0.18.0", features = ["trace", "metrics", "rt-tokio"] } opentelemetry-semantic-conventions = "0.10.0" opentelemetry-jaeger = { version = "0.17.0", features = ["rt-tokio", "collector_client"], optional = true } opentelemetry-otlp = { version = "0.11.0", features = ["trace", "metrics", "http-proto"], optional = true } opentelemetry-zipkin = { version = "0.16.0", features = ["opentelemetry-http"], default-features = false, optional = true } opentelemetry-http = { version = "0.7.0", features = ["tokio", "hyper"], optional = true } opentelemetry-prometheus = { version = "0.11.0", optional = true } prometheus = { version = "0.13.3", optional = true } mas-config = { path = "../config" } 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-policy = { path = "../policy" } mas-router = { path = "../router" } mas-spa = { path = "../spa" } mas-storage = { path = "../storage" } mas-tasks = { path = "../tasks" } mas-templates = { path = "../templates" } oauth2-types = { path = "../oauth2-types" } [dev-dependencies] indoc = "1.0.7" [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"]