reactive_graph/tooling/instances/
mod.rs

1pub mod args;
2pub mod certificates;
3pub mod commands;
4pub mod config;
5pub mod init;
6pub mod logging;
7pub mod plugins;
8pub mod provisioning;
9pub mod repositories;
10
11use crate::tooling::instances::args::InstancesArgs;
12use crate::tooling::instances::certificates::handle_generate_certificate;
13use crate::tooling::instances::commands::InstancesCommands;
14use crate::tooling::instances::config::handle_config;
15use crate::tooling::instances::init::init_instance;
16use crate::tooling::instances::plugins::handle_plugins;
17use crate::tooling::instances::repositories::handle_repository;
18use anyhow::Result;
19use std::path::PathBuf;
20
21pub fn handle_instance(args: InstancesArgs) -> Result<()> {
22    let instance_dir = args.working_directory.unwrap_or(PathBuf::from("."));
23    match args.commands {
24        InstancesCommands::Config(args) => handle_config(&instance_dir, args)?,
25        InstancesCommands::GenerateCertificate(args) => handle_generate_certificate(&instance_dir, args)?,
26        InstancesCommands::Init(args) => init_instance(&instance_dir, args)?,
27        InstancesCommands::Plugins(args) => handle_plugins(&instance_dir, args)?,
28        InstancesCommands::Repository(args) => handle_repository(&instance_dir, args)?,
29    };
30    Ok(())
31}