diff --git a/.cargo/config.toml b/.cargo/config.toml index 3ee08c0c61ee..231a0299336c 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -2,6 +2,7 @@ rustflags = [ "-Zproc-macro-backtrace", "-Wunused_qualifications", + "-Wclippy::upper_case_acronyms", # Flag to make build.rs scripts generate docs. Should only be used in this repository # internally, not by dependants. '--cfg=HYDROFLOW_GENERATE_DOCS', diff --git a/.github/workflows/template.yml b/.github/workflows/template.yml index 0fa17011d7dd..431935e730e6 100644 --- a/.github/workflows/template.yml +++ b/.github/workflows/template.yml @@ -37,10 +37,11 @@ jobs: components: rustfmt, clippy - name: Action cargo-generate - uses: cargo-generate/cargo-generate-action@v0.17.5 + uses: cargo-generate/cargo-generate-action@v0.20.0 with: name: generated template: template/hydroflow + arguments: "-d hydroflow_git=${{ github.event.pull_request.head.repo.clone_url }} -d hydroflow_branch=${{ github.event.pull_request.head.ref }}" - name: Move generated project run: | mv generated ${{ runner.temp }}/ @@ -113,10 +114,11 @@ jobs: components: rustfmt, clippy - name: Action cargo-generate - uses: cargo-generate/cargo-generate-action@v0.17.5 + uses: cargo-generate/cargo-generate-action@v0.20.0 with: name: generated template: template/hydroflow_plus + arguments: "-d hydroflow_git=${{ github.event.pull_request.head.repo.clone_url }} -d hydroflow_branch=${{ github.event.pull_request.head.ref }}" - name: Move generated project run: | mv generated ${{ runner.temp }}/ diff --git a/clippy.toml b/clippy.toml new file mode 100644 index 000000000000..cc94ec53e135 --- /dev/null +++ b/clippy.toml @@ -0,0 +1 @@ +upper-case-acronyms-aggressive = true diff --git a/design_docs/2023-02_hydro_cli.md b/design_docs/2023-02_hydro_cli.md index 87c4a31baaea..5560f3e5b505 100644 --- a/design_docs/2023-02_hydro_cli.md +++ b/design_docs/2023-02_hydro_cli.md @@ -36,19 +36,19 @@ module main( Assume we also have a `src/echo_client.hf` file that periodically sends `EchoMsg`s to an `outbound` channel and logs echos from the `inbound` channel. We can deploy this program to a cloud machine using the following `echo.hydro.py` config file: ```python from hydro import Deployment -from hydro.gcp import GCPMachine # keys are automatically loaded from somewhere +from hydro.gcp import GcpMachine # keys are automatically loaded from somewhere async def main(): deployment = Deployment() # Specify the GCP instances we want to deploy to - server_machine = deployment.GCPMachine( + server_machine = deployment.GcpMachine( project="hydro-1234", zone="us-west1-a", type="e2-micro", ) - client_machine = deployment.GCPMachine( + client_machine = deployment.GcpMachine( project="hydro-1234", zone="us-west1-a", type="e2-micro", diff --git a/docs/docs/deploy/deployments-hosts-and-services.md b/docs/docs/deploy/deployments-hosts-and-services.md index ec1a72b558d8..4baa62c7e5fb 100644 --- a/docs/docs/deploy/deployments-hosts-and-services.md +++ b/docs/docs/deploy/deployments-hosts-and-services.md @@ -30,16 +30,16 @@ Hydro Deploy also supports deploying to cloud VMs, currently supporting Google C ### Google Cloud Platform To deploy to Google Cloud Platform, you will need to install Terraform and the Google Cloud SDK (see [install](./install)). You will also need to create a Google Cloud project. -The first step is to create a VPC, which will enable network connections for our services. We can do this by creating a `hydro.GCPNetwork` object: +The first step is to create a VPC, which will enable network connections for our services. We can do this by creating a `hydro.GcpNetwork` object: ```python -network = deployment.GCPNetwork( +network = deployment.GcpNetwork( project="my-project" ) ``` -Then, we can launch a VM on this network using `hydro.GCPComputeEngineHost`: +Then, we can launch a VM on this network using `hydro.GcpComputeEngineHost`: ```python -host = deployment.GCPComputeEngineHost( +host = deployment.GcpComputeEngineHost( name="my-host", network=network, machine_type="e2-micro", diff --git a/hydro_deploy/core/src/deployment.rs b/hydro_deploy/core/src/deployment.rs index 4570f28d8489..e911501b81f7 100644 --- a/hydro_deploy/core/src/deployment.rs +++ b/hydro_deploy/core/src/deployment.rs @@ -4,9 +4,9 @@ use anyhow::Result; use futures::{StreamExt, TryStreamExt}; use tokio::sync::RwLock; -use super::gcp::GCPNetwork; +use super::gcp::GcpNetwork; use super::{ - progress, CustomService, GCPComputeEngineHost, Host, LocalhostHost, ResourcePool, + progress, CustomService, GcpComputeEngineHost, Host, LocalhostHost, ResourcePool, ResourceResult, Service, }; use crate::ServiceBuilder; @@ -32,17 +32,17 @@ impl Deployment { } #[allow(non_snake_case)] - pub fn GCPComputeEngineHost( + pub fn GcpComputeEngineHost( &mut self, project: impl Into, machine_type: impl Into, image: impl Into, region: impl Into, - network: Arc>, + network: Arc>, user: Option, - ) -> Arc> { + ) -> Arc> { self.add_host(|id| { - GCPComputeEngineHost::new(id, project, machine_type, image, region, network, user) + GcpComputeEngineHost::new(id, project, machine_type, image, region, network, user) }) } diff --git a/hydro_deploy/core/src/gcp.rs b/hydro_deploy/core/src/gcp.rs index 2bd34ce6d851..b86e85381839 100644 --- a/hydro_deploy/core/src/gcp.rs +++ b/hydro_deploy/core/src/gcp.rs @@ -44,13 +44,13 @@ impl LaunchedSshHost for LaunchedComputeEngine { } #[derive(Debug)] -pub struct GCPNetwork { +pub struct GcpNetwork { pub project: String, pub existing_vpc: Option, id: String, } -impl GCPNetwork { +impl GcpNetwork { pub fn new(project: impl Into, existing_vpc: Option) -> Self { Self { project: project.into(), @@ -167,26 +167,26 @@ impl GCPNetwork { } } -pub struct GCPComputeEngineHost { +pub struct GcpComputeEngineHost { pub id: usize, pub project: String, pub machine_type: String, pub image: String, pub region: String, - pub network: Arc>, + pub network: Arc>, pub user: Option, pub launched: Option>, external_ports: Vec, } -impl GCPComputeEngineHost { +impl GcpComputeEngineHost { pub fn new( id: usize, project: impl Into, machine_type: impl Into, image: impl Into, region: impl Into, - network: Arc>, + network: Arc>, user: Option, ) -> Self { Self { @@ -204,7 +204,7 @@ impl GCPComputeEngineHost { } #[async_trait] -impl Host for GCPComputeEngineHost { +impl Host for GcpComputeEngineHost { fn target_type(&self) -> HostTargetType { HostTargetType::Linux } @@ -483,7 +483,7 @@ impl Host for GCPComputeEngineHost { Ok(( ClientStrategy::ForwardedTcpPort(self), Box::new(|me| { - me.downcast_mut::() + me.downcast_mut::() .unwrap() .request_port(&ServerStrategy::ExternalTcpPort(22)); // needed to forward ServerStrategy::InternalTcpPort @@ -510,7 +510,7 @@ impl Host for GCPComputeEngineHost { } ClientStrategy::InternalTcpPort(target_host) => { if let Some(gcp_target) = - target_host.as_any().downcast_ref::() + target_host.as_any().downcast_ref::() { self.project == gcp_target.project } else { diff --git a/hydro_deploy/core/src/lib.rs b/hydro_deploy/core/src/lib.rs index 12b8114003f6..c512328111b5 100644 --- a/hydro_deploy/core/src/lib.rs +++ b/hydro_deploy/core/src/lib.rs @@ -19,7 +19,7 @@ pub use localhost::LocalhostHost; pub mod ssh; pub mod gcp; -pub use gcp::GCPComputeEngineHost; +pub use gcp::GcpComputeEngineHost; pub mod azure; pub use azure::AzureHost; diff --git a/hydro_deploy/hydro_cli/hydro/_core.pyi b/hydro_deploy/hydro_cli/hydro/_core.pyi index 5f561ce846a3..1e46fc653642 100644 --- a/hydro_deploy/hydro_cli/hydro/_core.pyi +++ b/hydro_deploy/hydro_cli/hydro/_core.pyi @@ -16,7 +16,7 @@ class Deployment(object): def Localhost(self) -> "LocalhostHost": ... - def GCPComputeEngineHost(self, project: str, machine_type: str, image: str, region: str, network: "GCPNetwork", user: Optional[str] = None) -> "GCPComputeEngineHost": ... + def GcpComputeEngineHost(self, project: str, machine_type: str, image: str, region: str, network: "GcpNetwork", user: Optional[str] = None) -> "GcpComputeEngineHost": ... def CustomService(self, on: "Host", external_ports: List[int]) -> "CustomService": ... @@ -32,10 +32,10 @@ class Host(object): class LocalhostHost(Host): def client_only() -> "LocalhostHost": ... -class GCPNetwork(object): +class GcpNetwork(object): def __init__(self, project: str, existing: Optional[str] = None) -> None: ... -class GCPComputeEngineHost(Host): +class GcpComputeEngineHost(Host): internal_ip: str external_ip: Optional[str] ssh_key_path: str diff --git a/hydro_deploy/hydro_cli/src/lib.rs b/hydro_deploy/hydro_cli/src/lib.rs index 1d659e7a2ab4..58de94bac89c 100644 --- a/hydro_deploy/hydro_cli/src/lib.rs +++ b/hydro_deploy/hydro_cli/src/lib.rs @@ -176,18 +176,18 @@ impl Deployment { } #[allow(non_snake_case, clippy::too_many_arguments)] - fn GCPComputeEngineHost( + fn GcpComputeEngineHost( &self, py: Python<'_>, project: String, machine_type: String, image: String, region: String, - network: GCPNetwork, + network: GcpNetwork, user: Option, ) -> PyResult> { let arc = self.underlying.blocking_write().add_host(|id| { - core::GCPComputeEngineHost::new( + core::GcpComputeEngineHost::new( id, project, machine_type, @@ -203,7 +203,7 @@ impl Deployment { PyClassInitializer::from(Host { underlying: arc.clone(), }) - .add_subclass(GCPComputeEngineHost { underlying: arc }), + .add_subclass(GcpComputeEngineHost { underlying: arc }), )? .into_py(py)) } @@ -357,27 +357,27 @@ impl LocalhostHost { #[pyclass] #[derive(Clone)] -struct GCPNetwork { - underlying: Arc>, +struct GcpNetwork { + underlying: Arc>, } #[pymethods] -impl GCPNetwork { +impl GcpNetwork { #[new] fn new(project: String, existing: Option) -> Self { - GCPNetwork { - underlying: Arc::new(RwLock::new(core::gcp::GCPNetwork::new(project, existing))), + GcpNetwork { + underlying: Arc::new(RwLock::new(core::gcp::GcpNetwork::new(project, existing))), } } } #[pyclass(extends=Host, subclass)] -struct GCPComputeEngineHost { - underlying: Arc>, +struct GcpComputeEngineHost { + underlying: Arc>, } #[pymethods] -impl GCPComputeEngineHost { +impl GcpComputeEngineHost { #[getter] fn internal_ip(&self) -> String { self.underlying @@ -876,8 +876,8 @@ async def coroutine_to_safely_cancellable(c, cancel_token): module.add_class::()?; module.add_class::()?; - module.add_class::()?; - module.add_class::()?; + module.add_class::()?; + module.add_class::()?; module.add_class::()?; module.add_class::()?; diff --git a/hydro_deploy/hydro_cli_examples/2pc.hydro.py b/hydro_deploy/hydro_cli_examples/2pc.hydro.py index e03528a42bca..144e36049118 100644 --- a/hydro_deploy/hydro_cli_examples/2pc.hydro.py +++ b/hydro_deploy/hydro_cli_examples/2pc.hydro.py @@ -9,14 +9,14 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - machine1 = deployment.GCPComputeEngineHost( + machine1 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", region="us-west1-a" ) if machine_1_gcp else localhost_machine - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/dedalus_python_receiver.hydro.py b/hydro_deploy/hydro_cli_examples/dedalus_python_receiver.hydro.py index 5337ecbdf965..789bbfa2bb42 100644 --- a/hydro_deploy/hydro_cli_examples/dedalus_python_receiver.hydro.py +++ b/hydro_deploy/hydro_cli_examples/dedalus_python_receiver.hydro.py @@ -9,11 +9,11 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="autocompartmentalization", ) - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/hydro_python_sender.hydro.py b/hydro_deploy/hydro_cli_examples/hydro_python_sender.hydro.py index 18551515a56c..a83e1b0def52 100644 --- a/hydro_deploy/hydro_cli_examples/hydro_python_sender.hydro.py +++ b/hydro_deploy/hydro_cli_examples/hydro_python_sender.hydro.py @@ -7,11 +7,11 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="autocompartmentalization", ) - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/pn_counter.hydro.py b/hydro_deploy/hydro_cli_examples/pn_counter.hydro.py index f247ed1bed3a..7c51488e1bf6 100644 --- a/hydro_deploy/hydro_cli_examples/pn_counter.hydro.py +++ b/hydro_deploy/hydro_cli_examples/pn_counter.hydro.py @@ -17,13 +17,13 @@ async def main(args): on=localhost_machine, ) - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="hydro-chrisdouglas", ) def create_machine(): if args[0] == "gcp": - return deployment.GCPComputeEngineHost( + return deployment.GcpComputeEngineHost( project="hydro-chrisdouglas", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/simple_dedalus.hydro.py b/hydro_deploy/hydro_cli_examples/simple_dedalus.hydro.py index 789d1074a109..1ed7e73c19b2 100644 --- a/hydro_deploy/hydro_cli_examples/simple_dedalus.hydro.py +++ b/hydro_deploy/hydro_cli_examples/simple_dedalus.hydro.py @@ -10,11 +10,11 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="autocompartmentalization", ) - machine1 = deployment.GCPComputeEngineHost( + machine1 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", @@ -22,7 +22,7 @@ async def main(args): network=gcp_vpc ) if machine_1_gcp else localhost_machine - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/tagged_python_sender.hydro.py b/hydro_deploy/hydro_cli_examples/tagged_python_sender.hydro.py index fa616398cb3e..dd6591e08793 100644 --- a/hydro_deploy/hydro_cli_examples/tagged_python_sender.hydro.py +++ b/hydro_deploy/hydro_cli_examples/tagged_python_sender.hydro.py @@ -7,11 +7,11 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="autocompartmentalization", ) - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/vote.hydro.py b/hydro_deploy/hydro_cli_examples/vote.hydro.py index f26247aa320e..8cab8409ee66 100644 --- a/hydro_deploy/hydro_cli_examples/vote.hydro.py +++ b/hydro_deploy/hydro_cli_examples/vote.hydro.py @@ -9,14 +9,14 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - machine1 = deployment.GCPComputeEngineHost( + machine1 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", region="us-west1-a" ) if machine_1_gcp else localhost_machine - machine2 = deployment.GCPComputeEngineHost( + machine2 = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydro_deploy/hydro_cli_examples/ws_chat_server.py b/hydro_deploy/hydro_cli_examples/ws_chat_server.py index 453869319ffc..42d2e8485293 100644 --- a/hydro_deploy/hydro_cli_examples/ws_chat_server.py +++ b/hydro_deploy/hydro_cli_examples/ws_chat_server.py @@ -10,15 +10,15 @@ async def main(args): deployment = hydro.Deployment() localhost_machine = deployment.Localhost() - gcp_vpc = hydro.GCPNetwork( + gcp_vpc = hydro.GcpNetwork( project="autocompartmentalization", ) - machines: List[hydro.GCPComputeEngineHost] = [] + machines: List[hydro.GcpComputeEngineHost] = [] chat_servers: Dict[int, hydro.HydroflowCrate] = {} ports: List[int] = [] for i in range(num_replicas): - machine = deployment.GCPComputeEngineHost( + machine = deployment.GcpComputeEngineHost( project="autocompartmentalization", machine_type="e2-micro", image="debian-cloud/debian-11", diff --git a/hydroflow/examples/kvs_bench/protocol/serialization/mod.rs b/hydroflow/examples/kvs_bench/protocol/serialization/mod.rs index d352bfdbaf0e..db7686f995a2 100644 --- a/hydroflow/examples/kvs_bench/protocol/serialization/mod.rs +++ b/hydroflow/examples/kvs_bench/protocol/serialization/mod.rs @@ -115,8 +115,8 @@ enum KvsRequestField { Gossip, Delete, } -struct KVSRequestFieldVisitor; -impl<'de> Visitor<'de> for KVSRequestFieldVisitor { +struct KvsRequestFieldVisitor; +impl<'de> Visitor<'de> for KvsRequestFieldVisitor { type Value = KvsRequestField; fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { @@ -154,6 +154,6 @@ impl<'de> Deserialize<'de> for KvsRequestField { where D: Deserializer<'de>, { - Deserializer::deserialize_identifier(deserializer, KVSRequestFieldVisitor) + Deserializer::deserialize_identifier(deserializer, KvsRequestFieldVisitor) } } diff --git a/hydroflow_plus_test/examples/compute_pi.rs b/hydroflow_plus_test/examples/compute_pi.rs index b9aba53b8d24..b9aeac8cfee1 100644 --- a/hydroflow_plus_test/examples/compute_pi.rs +++ b/hydroflow_plus_test/examples/compute_pi.rs @@ -1,7 +1,7 @@ use std::cell::RefCell; use std::sync::Arc; -use hydro_deploy::gcp::GCPNetwork; +use hydro_deploy::gcp::GcpNetwork; use hydro_deploy::{Deployment, Host, HydroflowCrate}; use hydroflow_plus_cli_integration::{DeployClusterSpec, DeployProcessSpec}; use stageleft::RuntimeData; @@ -17,11 +17,11 @@ async fn main() { let (create_host, profile): (HostCreator, &'static str) = if host_arg == *"gcp" { let project = std::env::args().nth(2).unwrap(); - let network = Arc::new(RwLock::new(GCPNetwork::new(&project, None))); + let network = Arc::new(RwLock::new(GcpNetwork::new(&project, None))); ( Box::new(move |deployment| -> Arc> { - deployment.GCPComputeEngineHost( + deployment.GcpComputeEngineHost( &project, "e2-micro", "debian-cloud/debian-11", diff --git a/hydroflow_plus_test/examples/first_ten_distributed.rs b/hydroflow_plus_test/examples/first_ten_distributed.rs index f6c0f01e743a..264a6a0bb600 100644 --- a/hydroflow_plus_test/examples/first_ten_distributed.rs +++ b/hydroflow_plus_test/examples/first_ten_distributed.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use hydro_deploy::gcp::GCPNetwork; +use hydro_deploy::gcp::GcpNetwork; use hydro_deploy::{Deployment, Host, HydroflowCrate}; use hydroflow_plus_cli_integration::DeployProcessSpec; use tokio::sync::RwLock; @@ -15,11 +15,11 @@ async fn main() { let (create_host, profile): (HostCreator, &'static str) = if host_arg == *"gcp" { let project = std::env::args().nth(2).unwrap(); - let network = Arc::new(RwLock::new(GCPNetwork::new(&project, None))); + let network = Arc::new(RwLock::new(GcpNetwork::new(&project, None))); ( Box::new(move |deployment| -> Arc> { - deployment.GCPComputeEngineHost( + deployment.GcpComputeEngineHost( &project, "e2-micro", "debian-cloud/debian-11", diff --git a/hydroflow_plus_test/examples/map_reduce.rs b/hydroflow_plus_test/examples/map_reduce.rs index 022c5f2f1aa9..1e20a6f6335d 100644 --- a/hydroflow_plus_test/examples/map_reduce.rs +++ b/hydroflow_plus_test/examples/map_reduce.rs @@ -1,7 +1,7 @@ use std::cell::RefCell; use std::sync::Arc; -use hydro_deploy::gcp::GCPNetwork; +use hydro_deploy::gcp::GcpNetwork; use hydro_deploy::{Deployment, Host, HydroflowCrate}; use hydroflow_plus_cli_integration::{DeployClusterSpec, DeployProcessSpec}; use tokio::sync::RwLock; @@ -16,11 +16,11 @@ async fn main() { let (create_host, profile): (HostCreator, &'static str) = if host_arg == *"gcp" { let project = std::env::args().nth(2).unwrap(); - let network = Arc::new(RwLock::new(GCPNetwork::new(&project, None))); + let network = Arc::new(RwLock::new(GcpNetwork::new(&project, None))); ( Box::new(move |deployment| -> Arc> { - deployment.GCPComputeEngineHost( + deployment.GcpComputeEngineHost( &project, "e2-micro", "debian-cloud/debian-11", diff --git a/hydroflow_plus_test/examples/perf_compute_pi.rs b/hydroflow_plus_test/examples/perf_compute_pi.rs index a82a8d5ea1b8..ed6ee798c095 100644 --- a/hydroflow_plus_test/examples/perf_compute_pi.rs +++ b/hydroflow_plus_test/examples/perf_compute_pi.rs @@ -1,7 +1,7 @@ use std::cell::RefCell; use std::sync::Arc; -use hydro_deploy::gcp::GCPNetwork; +use hydro_deploy::gcp::GcpNetwork; use hydro_deploy::{Deployment, Host, HydroflowCrate}; use hydroflow_plus_cli_integration::{DeployClusterSpec, DeployProcessSpec}; use stageleft::RuntimeData; @@ -17,11 +17,11 @@ async fn main() { let (create_host, profile): (HostCreator, &'static str) = if host_arg == *"gcp" { let project = std::env::args().nth(2).unwrap(); - let network = Arc::new(RwLock::new(GCPNetwork::new(&project, None))); + let network = Arc::new(RwLock::new(GcpNetwork::new(&project, None))); ( Box::new(move |deployment| -> Arc> { - deployment.GCPComputeEngineHost( + deployment.GcpComputeEngineHost( &project, "e2-micro", "debian-cloud/debian-11", diff --git a/hydroflow_plus_test/examples/simple_cluster.rs b/hydroflow_plus_test/examples/simple_cluster.rs index 63a2d52e3faa..243832936839 100644 --- a/hydroflow_plus_test/examples/simple_cluster.rs +++ b/hydroflow_plus_test/examples/simple_cluster.rs @@ -1,7 +1,7 @@ use std::cell::RefCell; use std::sync::Arc; -use hydro_deploy::gcp::GCPNetwork; +use hydro_deploy::gcp::GcpNetwork; use hydro_deploy::{Deployment, Host, HydroflowCrate}; use hydroflow_plus_cli_integration::{DeployClusterSpec, DeployProcessSpec}; use tokio::sync::RwLock; @@ -16,11 +16,11 @@ async fn main() { let (create_host, profile): (HostCreator, &'static str) = if host_arg == *"gcp" { let project = std::env::args().nth(2).unwrap(); - let network = Arc::new(RwLock::new(GCPNetwork::new(&project, None))); + let network = Arc::new(RwLock::new(GcpNetwork::new(&project, None))); ( Box::new(move |deployment| -> Arc> { - deployment.GCPComputeEngineHost( + deployment.GcpComputeEngineHost( &project, "e2-micro", "debian-cloud/debian-11", diff --git a/template/hydroflow/.gitignore b/template/hydroflow/.gitignore index 96ef6c0b944e..5a44eef09a54 100644 --- a/template/hydroflow/.gitignore +++ b/template/hydroflow/.gitignore @@ -1,2 +1 @@ -/target -Cargo.lock +/Cargo.lock diff --git a/template/hydroflow/Cargo.toml b/template/hydroflow/Cargo.toml index 831a145e416d..196857a4d3d2 100644 --- a/template/hydroflow/Cargo.toml +++ b/template/hydroflow/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +chrono = { version = "0.4.20", features = [ "serde" ], default-features = true } clap = { version = "4.0.29", features = [ "derive" ] } -hydroflow = { git = "https://github.com/hydro-project/hydroflow" } +hydroflow = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } serde = { version = "1", features = [ "derive" ] } -chrono = { version = "0.4.20", features = [ "serde" ], default-features = true } diff --git a/template/hydroflow/cargo-generate.toml b/template/hydroflow/cargo-generate.toml index 2d888be7dd48..af90a6b3caaf 100644 --- a/template/hydroflow/cargo-generate.toml +++ b/template/hydroflow/cargo-generate.toml @@ -1,4 +1,4 @@ [template] ignore = [ "Cargo.lock", -] \ No newline at end of file +] diff --git a/template/hydroflow_plus/.gitignore b/template/hydroflow_plus/.gitignore index ea8c4bf7f35f..5a44eef09a54 100644 --- a/template/hydroflow_plus/.gitignore +++ b/template/hydroflow_plus/.gitignore @@ -1 +1 @@ -/target +/Cargo.lock diff --git a/template/hydroflow_plus/Cargo.lock b/template/hydroflow_plus/Cargo.lock deleted file mode 100644 index 7c3b60e16710..000000000000 --- a/template/hydroflow_plus/Cargo.lock +++ /dev/null @@ -1,2060 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "addr2line" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" -dependencies = [ - "gimli", -] - -[[package]] -name = "adler" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" - -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - -[[package]] -name = "anyhow" -version = "1.0.81" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" -dependencies = [ - "backtrace", -] - -[[package]] -name = "async-channel" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81953c529336010edd6d8e358f886d9581267795c61b19475b71314bffa46d35" -dependencies = [ - "concurrent-queue", - "event-listener 2.5.3", - "futures-core", -] - -[[package]] -name = "async-channel" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f28243a43d821d11341ab73c80bed182dc015c514b951616cf79bd4af39af0c3" -dependencies = [ - "concurrent-queue", - "event-listener 5.2.0", - "event-listener-strategy 0.5.0", - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "async-io" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fc5b45d93ef0529756f812ca52e44c221b35341892d3dcc34132ac02f3dd2af" -dependencies = [ - "async-lock 2.8.0", - "autocfg", - "cfg-if", - "concurrent-queue", - "futures-lite 1.13.0", - "log", - "parking", - "polling 2.8.0", - "rustix 0.37.27", - "slab", - "socket2 0.4.10", - "waker-fn", -] - -[[package]] -name = "async-io" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcccb0f599cfa2f8ace422d3555572f47424da5648a4382a9dd0310ff8210884" -dependencies = [ - "async-lock 3.3.0", - "cfg-if", - "concurrent-queue", - "futures-io", - "futures-lite 2.3.0", - "parking", - "polling 3.6.0", - "rustix 0.38.32", - "slab", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "async-lock" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" -dependencies = [ - "event-listener 2.5.3", -] - -[[package]] -name = "async-lock" -version = "3.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d034b430882f8381900d3fe6f0aaa3ad94f2cb4ac519b429692a1bc2dda4ae7b" -dependencies = [ - "event-listener 4.0.3", - "event-listener-strategy 0.4.0", - "pin-project-lite", -] - -[[package]] -name = "async-once-cell" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9338790e78aa95a416786ec8389546c4b6a1dfc3dc36071ed9518a9413a542eb" - -[[package]] -name = "async-process" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea6438ba0a08d81529c69b36700fa2f95837bfe3e776ab39cde9c14d9149da88" -dependencies = [ - "async-io 1.13.0", - "async-lock 2.8.0", - "async-signal", - "blocking", - "cfg-if", - "event-listener 3.1.0", - "futures-lite 1.13.0", - "rustix 0.38.32", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-recursion" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30c5ef0ede93efbf733c1a727f3b6b5a1060bbedd5600183e66f6e4be4af0ec5" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "async-signal" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e47d90f65a225c4527103a8d747001fc56e375203592b25ad103e1ca13124c5" -dependencies = [ - "async-io 2.3.2", - "async-lock 2.8.0", - "atomic-waker", - "cfg-if", - "futures-core", - "futures-io", - "rustix 0.38.32", - "signal-hook-registry", - "slab", - "windows-sys 0.48.0", -] - -[[package]] -name = "async-ssh2-lite" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6cb43eaa75050ebe27dfd16e6de7078d9796a251f03c77d7a24c05aa9037c29b" -dependencies = [ - "async-trait", - "futures-util", - "libssh2-sys", - "ssh2", - "tokio", -] - -[[package]] -name = "async-task" -version = "4.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbb36e985947064623dbd357f727af08ffd077f93d696782f3c56365fa2e2799" - -[[package]] -name = "async-trait" -version = "0.1.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atomic-waker" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0" - -[[package]] -name = "auto_impl" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c87f3f15e7794432337fc718554eaa4dc8f04c9677a950ffe366f20a162ae42" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "backtrace" -version = "0.3.71" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" -dependencies = [ - "addr2line", - "cc", - "cfg-if", - "libc", - "miniz_oxide", - "object", - "rustc-demangle", -] - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" - -[[package]] -name = "block-buffer" -version = "0.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blocking" -version = "1.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a37913e8dc4ddcc604f0c6d3bf2887c995153af3611de9e23c352b44c1b9118" -dependencies = [ - "async-channel 2.2.0", - "async-lock 3.3.0", - "async-task", - "fastrand 2.0.2", - "futures-io", - "futures-lite 2.3.0", - "piper", - "tracing", -] - -[[package]] -name = "bumpalo" -version = "3.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" - -[[package]] -name = "byteorder" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" - -[[package]] -name = "bytes" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" - -[[package]] -name = "camino" -version = "1.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c59e92b5a388f549b863a7bea62612c09f24c8393560709a54558a9abdfb3b9c" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo-platform" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24b1f0365a6c6bb4020cd05806fd0d33c44d38046b8bd7f0e40814b9763cabfc" -dependencies = [ - "serde", -] - -[[package]] -name = "cargo_metadata" -version = "0.15.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a" -dependencies = [ - "camino", - "cargo-platform", - "semver", - "serde", - "serde_json", - "thiserror", -] - -[[package]] -name = "cc" -version = "1.0.90" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" - -[[package]] -name = "cc-traits" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "060303ef31ef4a522737e1b1ab68c67916f2a787bb2f4f54f383279adba962b5" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "concurrent-queue" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d16048cd947b08fa32c24458a22f5dc5e835264f689f4f5653210c69fd107363" -dependencies = [ - "crossbeam-utils", -] - -[[package]] -name = "console" -version = "0.15.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e1f83fc076bd6dd27517eacdf25fef6c4dfe5f1d7448bafaaf3a26f13b5e4eb" -dependencies = [ - "encode_unicode", - "lazy_static", - "libc", - "unicode-width", - "windows-sys 0.52.0", -] - -[[package]] -name = "cpufeatures" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53fe5e26ff1b7aef8bca9c6080520cfb8d9333c7568e1829cef191a9723e5504" -dependencies = [ - "libc", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" - -[[package]] -name = "crypto-common" -version = "0.1.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -dependencies = [ - "generic-array", - "typenum", -] - -[[package]] -name = "digest" -version = "0.10.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -dependencies = [ - "block-buffer", - "crypto-common", -] - -[[package]] -name = "dunce" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ce8c6da7551ec6c462cbaf3bfbc75131ebbfa1c944aeaa9dab51ca1c5f0c3b" - -[[package]] -name = "dyn-clone" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" - -[[package]] -name = "either" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" - -[[package]] -name = "encode_unicode" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" - -[[package]] -name = "equivalent" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" - -[[package]] -name = "errno" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a258e46cdc063eb8519c00b9fc845fc47bcfca4130e2f08e88665ceda8474245" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "event-listener" -version = "2.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0206175f82b8d6bf6652ff7d71a1e27fd2e4efde587fd368662814d6ec1d9ce0" - -[[package]] -name = "event-listener" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d93877bcde0eb80ca09131a08d23f0a5c18a620b01db137dba666d18cd9b30c2" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67b215c49b2b248c855fb73579eb1f4f26c38ffdc12973e20e07b91d78d5646e" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener" -version = "5.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b5fb89194fa3cad959b833185b3063ba881dbfc7030680b314250779fb4cc91" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958e4d70b6d5e81971bebec42271ec641e7ff4e170a6fa605f2b8a8b65cb97d3" -dependencies = [ - "event-listener 4.0.3", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feedafcaa9b749175d5ac357452a9d41ea2911da598fde46ce1fe02c37751291" -dependencies = [ - "event-listener 5.2.0", - "pin-project-lite", -] - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fastrand" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" - -[[package]] -name = "flow" -version = "0.0.0" -dependencies = [ - "async-ssh2-lite", - "flow_macro", - "hydro_deploy", - "hydroflow_plus", - "hydroflow_plus_cli_integration", - "stageleft", - "stageleft_tool", - "tokio", -] - -[[package]] -name = "flow_macro" -version = "0.0.0" -dependencies = [ - "hydroflow_plus", - "hydroflow_plus_cli_integration", - "stageleft", - "stageleft_tool", - "tokio", -] - -[[package]] -name = "futures" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" -dependencies = [ - "futures-channel", - "futures-core", - "futures-executor", - "futures-io", - "futures-sink", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-channel" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" -dependencies = [ - "futures-core", - "futures-sink", -] - -[[package]] -name = "futures-core" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" - -[[package]] -name = "futures-executor" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" -dependencies = [ - "futures-core", - "futures-task", - "futures-util", -] - -[[package]] -name = "futures-io" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" - -[[package]] -name = "futures-lite" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49a9d51ce47660b1e808d3c990b4709f2f415d928835a17dfd16991515c46bce" -dependencies = [ - "fastrand 1.9.0", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite", - "waker-fn", -] - -[[package]] -name = "futures-lite" -version = "2.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" -dependencies = [ - "futures-core", - "pin-project-lite", -] - -[[package]] -name = "futures-macro" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-sink" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" - -[[package]] -name = "futures-task" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" - -[[package]] -name = "futures-util" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" -dependencies = [ - "futures-channel", - "futures-core", - "futures-io", - "futures-macro", - "futures-sink", - "futures-task", - "memchr", - "pin-project-lite", - "pin-utils", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.2.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" -dependencies = [ - "cfg-if", - "js-sys", - "libc", - "wasi", - "wasm-bindgen", -] - -[[package]] -name = "gimli" -version = "0.28.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" - -[[package]] -name = "hashbrown" -version = "0.14.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" - -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - -[[package]] -name = "hydro_deploy" -version = "0.6.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "anyhow", - "async-channel 1.9.0", - "async-once-cell", - "async-process", - "async-recursion", - "async-ssh2-lite", - "async-trait", - "bytes", - "cargo_metadata", - "dunce", - "dyn-clone", - "futures", - "futures-core", - "hydroflow_cli_integration", - "indicatif", - "nanoid", - "nix", - "once_cell", - "serde", - "serde_json", - "shell-escape", - "tempfile", - "tokio", - "tokio-util", -] - -[[package]] -name = "hydroflow" -version = "0.6.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "bincode", - "byteorder", - "bytes", - "futures", - "getrandom", - "hydroflow_cli_integration", - "hydroflow_lang", - "instant", - "itertools", - "lattices", - "pusherator", - "ref-cast", - "regex", - "rustc-hash", - "sealed", - "serde", - "serde_json", - "slotmap", - "smallvec", - "tokio", - "tokio-stream", - "tokio-util", - "tracing", - "variadics", -] - -[[package]] -name = "hydroflow_cli_integration" -version = "0.5.1" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "async-recursion", - "async-trait", - "bytes", - "futures", - "pin-project", - "serde", - "tempfile", - "tokio", - "tokio-util", -] - -[[package]] -name = "hydroflow_lang" -version = "0.6.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "auto_impl", - "itertools", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "serde", - "serde_json", - "slotmap", - "syn", -] - -[[package]] -name = "hydroflow_plus" -version = "0.6.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "bincode", - "hydroflow", - "hydroflow_lang", - "proc-macro-crate", - "proc-macro2", - "quote", - "serde", - "stageleft", - "stageleft_tool", - "syn", -] - -[[package]] -name = "hydroflow_plus_cli_integration" -version = "0.6.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "async-channel 1.9.0", - "hydro_deploy", - "hydroflow_plus", - "serde", - "stageleft", - "stageleft_tool", - "syn", - "tokio", -] - -[[package]] -name = "indexmap" -version = "2.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" -dependencies = [ - "equivalent", - "hashbrown", -] - -[[package]] -name = "indicatif" -version = "0.17.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "763a5a8f45087d6bcea4222e7b72c291a054edf80e4ef6efd2a4979878c7bea3" -dependencies = [ - "console", - "instant", - "number_prefix", - "portable-atomic", - "unicode-width", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eae7b9aee968036d54dce06cebaefd919e4472e753296daccd6d344e3e2df0c2" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "itertools" -version = "0.10.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" -dependencies = [ - "either", -] - -[[package]] -name = "itoa" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1a46d1a171d865aa5f83f92695765caa047a9b4cbae2cbf37dbd613a793fd4c" - -[[package]] -name = "js-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lattices" -version = "0.5.3" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "cc-traits", - "sealed", - "serde", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.153" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" - -[[package]] -name = "libssh2-sys" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dc8a030b787e2119a731f1951d6a773e2280c660f8ec4b0f5e1505a386e71ee" -dependencies = [ - "cc", - "libc", - "libz-sys", - "openssl-sys", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "libz-sys" -version = "1.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e143b5e666b2695d28f6bca6497720813f699c9602dd7f5cac91008b8ada7f9" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "linux-raw-sys" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" - -[[package]] -name = "linux-raw-sys" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" - -[[package]] -name = "lock_api" -version = "0.4.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" - -[[package]] -name = "memchr" -version = "2.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" - -[[package]] -name = "memoffset" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" -dependencies = [ - "autocfg", -] - -[[package]] -name = "miniz_oxide" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" -dependencies = [ - "adler", -] - -[[package]] -name = "mio" -version = "0.8.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -dependencies = [ - "libc", - "wasi", - "windows-sys 0.48.0", -] - -[[package]] -name = "nanoid" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ffa00dec017b5b1a8b7cf5e2c008bfda1aa7e0697ac1508b491fdf2622fb4d8" -dependencies = [ - "rand", -] - -[[package]] -name = "nix" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" -dependencies = [ - "bitflags 1.3.2", - "cfg-if", - "libc", - "memoffset", - "pin-utils", -] - -[[package]] -name = "num_cpus" -version = "1.16.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "number_prefix" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b246a0e5f20af87141b25c173cd1b609bd7779a4617d6ec582abaf90870f3" - -[[package]] -name = "object" -version = "0.32.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" -dependencies = [ - "memchr", -] - -[[package]] -name = "once_cell" -version = "1.19.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" - -[[package]] -name = "openssl-src" -version = "300.2.3+3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cff92b6f71555b61bb9315f7c64da3ca43d87531622120fea0195fc761b4843" -dependencies = [ - "cc", -] - -[[package]] -name = "openssl-sys" -version = "0.9.101" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dda2b0f344e78efc2facf7d195d098df0dd72151b26ab98da807afc26c198dff" -dependencies = [ - "cc", - "libc", - "openssl-src", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "parking" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" - -[[package]] -name = "parking_lot" -version = "0.11.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" -dependencies = [ - "instant", - "lock_api", - "parking_lot_core 0.8.6", -] - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core 0.9.9", -] - -[[package]] -name = "parking_lot_core" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc" -dependencies = [ - "cfg-if", - "instant", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "winapi", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.4.1", - "smallvec", - "windows-targets 0.48.5", -] - -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.2.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "piper" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "668d31b1c4eba19242f2088b2bf3316b82ca31082a8335764db4e083db7485d4" -dependencies = [ - "atomic-waker", - "fastrand 2.0.2", - "futures-io", -] - -[[package]] -name = "pkg-config" -version = "0.3.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" - -[[package]] -name = "polling" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b2d323e8ca7996b3e23126511a523f7e62924d93ecd5ae73b333815b0eb3dce" -dependencies = [ - "autocfg", - "bitflags 1.3.2", - "cfg-if", - "concurrent-queue", - "libc", - "log", - "pin-project-lite", - "windows-sys 0.48.0", -] - -[[package]] -name = "polling" -version = "3.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0c976a60b2d7e99d6f229e414670a9b85d13ac305cc6d1e9c134de58c5aaaf6" -dependencies = [ - "cfg-if", - "concurrent-queue", - "hermit-abi", - "pin-project-lite", - "rustix 0.38.32", - "tracing", - "windows-sys 0.52.0", -] - -[[package]] -name = "portable-atomic" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" - -[[package]] -name = "ppv-lite86" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" - -[[package]] -name = "prettyplease" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d3928fb5db768cb86f891ff014f0144589297e3c6a1aba6ed7cecfdace270c7" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "proc-macro-crate" -version = "1.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" -dependencies = [ - "once_cell", - "toml_edit", -] - -[[package]] -name = "proc-macro2" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "pusherator" -version = "0.0.5" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "either", - "variadics", -] - -[[package]] -name = "quote" -version = "1.0.35" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" -dependencies = [ - "libc", - "rand_chacha", - "rand_core", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core", -] - -[[package]] -name = "rand_core" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" -dependencies = [ - "getrandom", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "redox_syscall" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" -dependencies = [ - "bitflags 1.3.2", -] - -[[package]] -name = "ref-cast" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4846d4c50d1721b1a3bef8af76924eef20d5e723647333798c1b519b3a9473f" -dependencies = [ - "ref-cast-impl", -] - -[[package]] -name = "ref-cast-impl" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fddb4f8d99b0a2ebafc65a87a69a7b9875e4b1ae1f00db265d300ef7f28bccc" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "regex" -version = "1.10.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata", - "regex-syntax", -] - -[[package]] -name = "regex-automata" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" - -[[package]] -name = "rustc-demangle" -version = "0.1.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" - -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - -[[package]] -name = "rustix" -version = "0.37.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fea8ca367a3a01fe35e6943c400addf443c0f57670e6ec51196f71a4b8762dd2" -dependencies = [ - "bitflags 1.3.2", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys 0.3.8", - "windows-sys 0.48.0", -] - -[[package]] -name = "rustix" -version = "0.38.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" -dependencies = [ - "bitflags 2.5.0", - "errno", - "libc", - "linux-raw-sys 0.4.13", - "windows-sys 0.52.0", -] - -[[package]] -name = "ryu" -version = "1.0.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" - -[[package]] -name = "scopeguard" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" - -[[package]] -name = "sealed" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4a8caec23b7800fb97971a1c6ae365b6239aaeddfb934d6265f8505e795699d" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "semver" -version = "1.0.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" -dependencies = [ - "serde", -] - -[[package]] -name = "serde" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.197" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.114" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f09b1bd632ef549eaa9f60a1f8de742bdbc698e6cee2095fc84dde5f549ae0" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha2" -version = "0.10.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -dependencies = [ - "cfg-if", - "cpufeatures", - "digest", -] - -[[package]] -name = "sha256" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18278f6a914fa3070aa316493f7d2ddfb9ac86ebc06fa3b83bffda487e9065b0" -dependencies = [ - "async-trait", - "bytes", - "hex", - "sha2", - "tokio", -] - -[[package]] -name = "shell-escape" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67" -dependencies = [ - "autocfg", -] - -[[package]] -name = "slotmap" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbff4acf519f630b3a3ddcfaea6c06b42174d9a44bc70c620e9ed1649d58b82a" -dependencies = [ - "serde", - "version_check", -] - -[[package]] -name = "smallvec" -version = "1.13.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" - -[[package]] -name = "socket2" -version = "0.4.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f7916fc008ca5542385b89a3d3ce689953c143e9304a9bf8beec1de48994c0d" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "socket2" -version = "0.5.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" -dependencies = [ - "libc", - "windows-sys 0.52.0", -] - -[[package]] -name = "ssh2" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7fe461910559f6d5604c3731d00d2aafc4a83d1665922e280f42f9a168d5455" -dependencies = [ - "bitflags 1.3.2", - "libc", - "libssh2-sys", - "parking_lot 0.11.2", -] - -[[package]] -name = "stageleft" -version = "0.2.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", - "stageleft_macro", - "syn", -] - -[[package]] -name = "stageleft_macro" -version = "0.1.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "lazy_static", - "proc-macro-crate", - "proc-macro2", - "quote", - "sha256", - "syn", -] - -[[package]] -name = "stageleft_tool" -version = "0.1.0" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "proc-macro2", - "quote", - "sha256", - "syn", - "syn-inline-mod", -] - -[[package]] -name = "syn" -version = "2.0.55" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "002a1b3dbf967edfafc32655d0f377ab0bb7b994aa1d32c8cc7e9b8bf3ebb8f0" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn-inline-mod" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fa6dca1fdb7b2ed46dd534a326725419d4fb10f23d8c85a8b2860e5eb25d0f9" -dependencies = [ - "proc-macro2", - "syn", -] - -[[package]] -name = "tempfile" -version = "3.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" -dependencies = [ - "cfg-if", - "fastrand 2.0.2", - "rustix 0.38.32", - "windows-sys 0.52.0", -] - -[[package]] -name = "thiserror" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.58" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio" -version = "1.36.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" -dependencies = [ - "backtrace", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot 0.12.1", - "pin-project-lite", - "signal-hook-registry", - "socket2 0.5.6", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tokio-stream" -version = "0.1.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" -dependencies = [ - "futures-core", - "pin-project-lite", - "tokio", - "tokio-util", -] - -[[package]] -name = "tokio-util" -version = "0.7.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5419f34732d9eb6ee4c3578b7989078579b7f039cbbb9ca2c4da015749371e15" -dependencies = [ - "bytes", - "futures-core", - "futures-io", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "toml_datetime" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" - -[[package]] -name = "toml_edit" -version = "0.19.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" -dependencies = [ - "indexmap", - "toml_datetime", - "winnow", -] - -[[package]] -name = "tracing" -version = "0.1.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" -dependencies = [ - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tracing-core" -version = "0.1.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" -dependencies = [ - "once_cell", -] - -[[package]] -name = "typenum" -version = "1.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" - -[[package]] -name = "unicode-ident" -version = "1.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" - -[[package]] -name = "unicode-width" -version = "0.1.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" - -[[package]] -name = "variadics" -version = "0.0.4" -source = "git+https://github.com/hydro-project/hydroflow.git#dfe5a1bc66564fbd6de297cd695385b627091658" -dependencies = [ - "sealed", -] - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "version_check" -version = "0.9.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" - -[[package]] -name = "waker-fn" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3c4517f54858c779bbcbf228f4fca63d121bf85fbecb2dc578cdf4a39395690" - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.92" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" - -[[package]] -name = "web-sys" -version = "0.3.69" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.5", -] - -[[package]] -name = "windows-sys" -version = "0.52.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" -dependencies = [ - "windows-targets 0.52.4", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", -] - -[[package]] -name = "windows-targets" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" -dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" - -[[package]] -name = "windows_i686_gnu" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" - -[[package]] -name = "windows_i686_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.52.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" - -[[package]] -name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] diff --git a/template/hydroflow_plus/flow/Cargo.toml b/template/hydroflow_plus/flow/Cargo.toml index 2dd6089424b4..4d856fab3478 100644 --- a/template/hydroflow_plus/flow/Cargo.toml +++ b/template/hydroflow_plus/flow/Cargo.toml @@ -6,18 +6,20 @@ edition = "2021" [dependencies] # make sure to sync these to `flow_macro`! -hydroflow_plus = { git = "https://github.com/hydro-project/hydroflow.git" } -tokio = { version = "1.16", features = [ "full" ] } -stageleft = { git = "https://github.com/hydro-project/hydroflow.git" } -hydroflow_plus_cli_integration = { git = "https://github.com/hydro-project/hydroflow.git" } +hydroflow_plus = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +hydroflow_plus_cli_integration = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +stageleft = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +tokio = { version = "1.16", features = ["full"] } # this dependency should NOT be added to `flow_macro` flow_macro = { path = "../flow_macro" } [build-dependencies] -stageleft_tool = { git = "https://github.com/hydro-project/hydroflow.git" } +stageleft_tool = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } [dev-dependencies] -hydro_deploy = { git = "https://github.com/hydro-project/hydroflow.git" } -hydroflow_plus_cli_integration = { git = "https://github.com/hydro-project/hydroflow.git", features = [ "deploy" ] } -async-ssh2-lite = { version = "0.4.2", features = [ "vendored-openssl" ] } +async-ssh2-lite = { version = "0.4.2", features = ["vendored-openssl"] } +hydro_deploy = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +hydroflow_plus_cli_integration = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}", features = [ + "deploy", +] } diff --git a/template/hydroflow_plus/flow/examples/first_ten_distributed_gcp.rs b/template/hydroflow_plus/flow/examples/first_ten_distributed_gcp.rs index 77c3b45566e2..83e8e04ca6d1 100644 --- a/template/hydroflow_plus/flow/examples/first_ten_distributed_gcp.rs +++ b/template/hydroflow_plus/flow/examples/first_ten_distributed_gcp.rs @@ -1,6 +1,6 @@ use std::sync::Arc; -use hydro_deploy::{gcp::GCPNetwork, Deployment, HydroflowCrate}; +use hydro_deploy::{gcp::GcpNetwork, Deployment, HydroflowCrate}; use hydroflow_plus_cli_integration::DeployProcessSpec; use tokio::sync::RwLock; @@ -11,13 +11,13 @@ async fn main() { .expect("Expected GCP project as first argument"); let mut deployment = Deployment::new(); - let vpc = Arc::new(RwLock::new(GCPNetwork::new(&gcp_project, None))); + let vpc = Arc::new(RwLock::new(GcpNetwork::new(&gcp_project, None))); let flow = hydroflow_plus::FlowBuilder::new(); flow::first_ten_distributed::first_ten_distributed( &flow, &DeployProcessSpec::new(|| { - let host = deployment.GCPComputeEngineHost( + let host = deployment.GcpComputeEngineHost( gcp_project.clone(), "e2-micro", "debian-cloud/debian-11", diff --git a/template/hydroflow_plus/flow_macro/Cargo.toml b/template/hydroflow_plus/flow_macro/Cargo.toml index 09848c79e9ab..6fffc3cac665 100644 --- a/template/hydroflow_plus/flow_macro/Cargo.toml +++ b/template/hydroflow_plus/flow_macro/Cargo.toml @@ -13,10 +13,11 @@ default = ["macro"] macro = [] [dependencies] -hydroflow_plus = { git = "https://github.com/hydro-project/hydroflow.git" } -tokio = { version = "1.16", features = [ "full" ] } -stageleft = { git = "https://github.com/hydro-project/hydroflow.git" } -hydroflow_plus_cli_integration = { git = "https://github.com/hydro-project/hydroflow.git" } +# make sure to sync these to `flow`! +hydroflow_plus = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +hydroflow_plus_cli_integration = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +stageleft = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } +tokio = { version = "1.16", features = ["full"] } [build-dependencies] -stageleft_tool = { git = "https://github.com/hydro-project/hydroflow.git" } +stageleft_tool = { git = "{{ hydroflow_git | default: 'https://github.com/hydro-project/hydroflow.git' }}", branch = "{{ hydroflow_branch | default: 'main' }}" } diff --git a/topolotree/src/main.rs b/topolotree/src/main.rs index 054099c175ee..8f1282d442a9 100644 --- a/topolotree/src/main.rs +++ b/topolotree/src/main.rs @@ -23,18 +23,18 @@ use protocol::*; use tokio::time::Instant; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] -struct NodeID(pub u32); +struct NodeId(pub u32); -impl Display for NodeID { +impl Display for NodeId { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { Display::fmt(&self.0, f) } } -type PostNeighborJoin = (((u64, Option), (i64, TickInstant)), NodeID); +type PostNeighborJoin = (((u64, Option), (i64, TickInstant)), NodeId); type ContributionAgg = - Rc, (Timestamped, TickInstant)>>>>; + Rc, (Timestamped, TickInstant)>>>>; fn run_topolotree( neighbors: Vec, @@ -61,7 +61,7 @@ fn run_topolotree( hydroflow_syntax! { parsed_input = source_stream(input_recv) -> map(Result::unwrap) - -> map(|(src, x)| (NodeID(src), deserialize_from_bytes::(&x).unwrap())) + -> map(|(src, x)| (NodeId(src), deserialize_from_bytes::(&x).unwrap())) -> demux(|(src, msg), var_args!(payload, ping, pong)| { match msg { TopolotreeMessage::Payload(p) => payload.give((src, p)), @@ -98,7 +98,7 @@ fn run_topolotree( }); from_neighbors - -> map(|(_, payload): (NodeID, Payload)| payload.key) + -> map(|(_, payload): (NodeId, Payload)| payload.key) -> touched_keys; operations @@ -108,8 +108,8 @@ fn run_topolotree( touched_keys = union() -> unique() -> [0]from_neighbors_unfiltered; from_neighbors - -> map(|(src, payload): (NodeID, Payload)| (src, (payload.key, payload.contents))) - -> fold::<'static>(|| Rc::new(RefCell::new(HashMap::new())), |acc: &mut ContributionAgg, (source, (key, val)): (NodeID, (u64, Timestamped))| { + -> map(|(src, payload): (NodeId, Payload)| (src, (payload.key, payload.contents))) + -> fold::<'static>(|| Rc::new(RefCell::new(HashMap::new())), |acc: &mut ContributionAgg, (source, (key, val)): (NodeId, (u64, Timestamped))| { let mut acc = acc.borrow_mut(); let key_entry = acc.entry(key).or_default(); let src_entry = key_entry.entry(Some(source)).or_insert((Timestamped { timestamp: -1, data: 0 }, TickInstant::default())); @@ -153,7 +153,7 @@ fn run_topolotree( from_neighbors_or_local -> [0]all_neighbor_data; new_neighbors = source_iter(neighbors) - -> map(NodeID) + -> map(NodeId) -> tee(); new_neighbors @@ -204,7 +204,7 @@ fn run_topolotree( -> map(|(target_neighbor, payload)| (target_neighbor, TopolotreeMessage::Payload(payload))) -> output; - output = union() -> for_each(|(target_neighbor, output): (NodeID, TopolotreeMessage)| { + output = union() -> for_each(|(target_neighbor, output): (NodeId, TopolotreeMessage)| { let serialized = serialize_to_bytes(output); output_send.send((target_neighbor.0, serialized)).unwrap(); }); diff --git a/topolotree/topolotree_latency.hydro.py b/topolotree/topolotree_latency.hydro.py index 11a7f7cfba8a..99f0e4f19c6e 100644 --- a/topolotree/topolotree_latency.hydro.py +++ b/topolotree/topolotree_latency.hydro.py @@ -72,7 +72,7 @@ def create_machine(): return ret else: if is_gcp: - out = deployment.GCPComputeEngineHost( + out = deployment.GcpComputeEngineHost( project="hydro-chrisdouglas", machine_type="n2-standard-4", image="debian-cloud/debian-11", @@ -331,7 +331,7 @@ async def main(args): pool = [] network = ( - hydro.GCPNetwork( + hydro.GcpNetwork( project="hydro-chrisdouglas", ) if args[0] == "gcp"