reactive_graph_tooling/tooling/instances/
mod.rs1pub 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}