# Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. [package] name = "ballista-scheduler" description = "Ballista Distributed Compute - Scheduler" license = "Apache-2.0" version = "0.12.0" homepage = "https://github.com/apache/arrow-ballista" repository = "https://github.com/apache/arrow-ballista" readme = "README.md" authors = ["Apache Arrow "] edition = "2021" [package.metadata.configure_me.bin] scheduler = "scheduler_config_spec.toml" [[bin]] name = "ballista-scheduler" path = "src/bin/main.rs" [features] default = ["etcd", "sled", "flight-sql"] etcd = ["etcd-client"] flight-sql = [] prometheus-metrics = ["prometheus", "once_cell"] sled = ["sled_package", "tokio-stream"] [dependencies] anyhow = "1" arrow-flight = { workspace = true } async-recursion = "1.0.0" async-trait = "0.1.41" ballista-core = { path = "../core", version = "0.12.0", features = ["s3"] } base64 = { version = "0.21" } clap = { version = "3", features = ["derive", "cargo"] } configure_me = { workspace = true } dashmap = "5.4.0" datafusion = { workspace = true } datafusion-proto = { workspace = true } etcd-client = { version = "0.12", optional = true } flatbuffers = { version = "23.5.26" } futures = "0.3" graphviz-rust = "0.6.1" http = "0.2" http-body = "0.4" hyper = "0.14.4" itertools = "0.12.0" log = "0.4" object_store = { workspace = true } once_cell = { version = "1.16.0", optional = true } parking_lot = "0.12" parse_arg = "0.1.3" prometheus = { version = "0.13", features = ["process"], optional = true } prost = "0.12" prost-types = { version = "0.12.0" } rand = "0.8" serde = { version = "1", features = ["derive"] } sled_package = { package = "sled", version = "0.34", optional = true } tokio = { version = "1.0", features = ["full"] } tokio-stream = { version = "0.1", features = ["net"], optional = true } tonic = { workspace = true } tower = { version = "0.4" } tracing = { workspace = true } tracing-appender = { workspace = true } tracing-subscriber = { workspace = true } uuid = { version = "1.0", features = ["v4"] } warp = "0.3" [dev-dependencies] ballista-core = { path = "../core", version = "0.12.0" } [build-dependencies] configure_me_codegen = { workspace = true } tonic-build = { workspace = true }