dora-cli 1.0.0-rc.2

`dora` goal is to be a low latency, composable, and distributed data flow.
use super::{Executable, default_tracing, up};
use crate::common::CoordinatorOptions;
use std::path::PathBuf;

#[derive(Debug, clap::Args)]
/// Tear down coordinator and daemon. Stops any running dataflows first.
pub struct Down {
    /// Use a custom configuration
    #[clap(long, hide = true)]
    config: Option<PathBuf>,
    #[clap(flatten)]
    coordinator: CoordinatorOptions,
}

impl Executable for Down {
    fn execute(self) -> eyre::Result<()> {
        default_tracing()?;
        up::down(self.config.as_deref(), self.coordinator.socket_addr())
    }
}