[workspace] [package] name = "constellation-rs" version = "0.2.0-alpha.2" license = "Apache-2.0" authors = ["Alec Mocatta "] categories = ["development-tools","network-programming","concurrency","asynchronous","command-line-utilities"] keywords = ["constellation","deploy","distributed","cluster"] description = """ Constellation is a framework for Rust (nightly) that aides in the writing, debugging and deployment of distributed programs. """ repository = "https://github.com/alecmocatta/constellation" homepage = "https://github.com/alecmocatta/constellation" documentation = "https://docs.rs/constellation-rs" readme = "README.md" links = "constellation" build = "build.rs" default-run = "constellation" edition = "2018" autotests = true [badges] azure-devops = { project = "alecmocatta/constellation", pipeline = "tests", build = "25" } maintenance = { status = "actively-developed" } [features] default = ["distribute_binaries"] # Experimental functionality nightly = ["palaver/nightly"] # Actually send binaries; this is necessary if nodes don't all have the binary at the same location on disk distribute_binaries = ["constellation-internal/distribute_binaries"] # Experimental generator-based serialization fringe = ["serde_pipe/fringe"] # Enable auto-scaling on Kubernetes kubernetes = ["distribute_binaries", "k8s-openapi", "kube", "openssl", "tokio"] # Assert that no allocations are made during forking when they're UB no_alloc = ["constellation-internal/no_alloc"] # Make constellation non-resilient to internal failures strict = [] [dependencies] constellation-internal = { path = "constellation-internal", version = "=0.2.0-alpha.2" } atty = "0.2" bincode = "1.2" cargo_metadata = { version = "0.10", default-features = false } clap = "2.33" crossbeam = "0.7" docopt = "1.0" either = "1.5" futures = "0.3" k8s-openapi = { version = "0.7", default-features = false, features = ["v1_15"], optional = true } kube = { version = "0.27", features = ["openapi"], optional = true } log = "0.4" notifier = { version = "0.1", features = ["tcp_typed"] } once_cell = "1.0" palaver = "0.3.0-alpha.2" pin-utils = "0.1.0-alpha.4" rand = "0.7" serde = { version = "1.0", features = ["derive"] } serde_closure = "0.3" serde_traitobject = { version = "0.2", features = ["serde_closure"] } serde_json = { version = "1.0", features = ["unbounded_depth"] } serde_pipe = "0.1" tcp_typed = "0.1" tokio = { version = "0.2", optional = true } toml = "0.5" # dependency of kube; ensure it's vendored to simplify cross-compilation openssl = { version = "0.10", features = ["vendored"], optional = true } [target.'cfg(unix)'.dependencies] nix = "0.16" [target.'cfg(windows)'.dependencies] winapi = "0.3" [dev-dependencies] doc-comment = "0.3" hex = "0.4" itertools = "0.9" multiset = "0.0" rand_pcg = { version = "0.2", features = ["serde1"] } regex = "1.0" sha1 = "0.6" systemstat = "0.1" [patch.crates-io] systemstat = { git = "https://github.com/alecmocatta/systemstat", branch = "linking-fix" } ### [lib] name = "constellation" # Hopefully we won't need to exhaustively list in future: # https://github.com/rust-lang/cargo/issues/5766 or https://github.com/rust-lang/rust/issues/50297 [[test]] name = "tester" harness = false [[test]] name = "abort-sleep" test = false harness = false [[test]] name = "abort" test = false harness = false [[test]] name = "failure-sleep" test = false harness = false [[test]] name = "failure" test = false harness = false [[test]] name = "message-alltoall-sleep" test = false harness = false [[test]] name = "output-data" test = false harness = false [[test]] name = "resource-limit-stress" test = false harness = false [[test]] name = "resource-limit" test = false harness = false [[test]] name = "resources" test = false harness = false [[test]] name = "sender-duplicate" test = false harness = false [[test]] name = "sender-self" test = false harness = false [[test]] name = "spawn-env" test = false harness = false [[test]] name = "spawn-multiple-futures-send-recv-stream" test = false harness = false [[test]] name = "spawn-multiple-send-recv-recv-send-sleep" test = false harness = false [[test]] name = "spawn-multiple-send-recv-recv-send" test = false harness = false [[test]] name = "spawn-multiple-send-recv-stream" test = false harness = false [[test]] name = "spawn-multiple-send-recv" test = false harness = false [[test]] name = "spawn-multiple-sleep" test = false harness = false [[test]] name = "spawn-receiver-sender" test = false harness = false [[test]] name = "spawn-receiver" test = false harness = false [[test]] name = "spawn-recv" test = false harness = false [[test]] name = "spawn-send-recv" test = false harness = false [[test]] name = "spawn-send-sleep" test = false harness = false [[test]] name = "spawn-send" test = false harness = false [[test]] name = "spawn-sender-receiver" test = false harness = false [[test]] name = "spawn-sender" test = false harness = false [[test]] name = "spawn" test = false harness = false [[test]] name = "success-return-sleep" test = false harness = false [[test]] name = "success-return" test = false harness = false [[test]] name = "success-sleep" test = false harness = false [[test]] name = "success" test = false harness = false