sui_security_watchdog/
lib.rs

1// Copyright (c) Mysten Labs, Inc.
2// SPDX-License-Identifier: Apache-2.0
3use clap::Parser;
4use std::path::PathBuf;
5
6mod metrics;
7mod pagerduty;
8mod query_runner;
9pub mod scheduler;
10
11#[derive(Parser, Clone, Debug)]
12#[clap(
13    name = "Sui Security Watchdog",
14    about = "Watchdog service to monitor chain data.",
15    rename_all = "kebab-case"
16)]
17pub struct SecurityWatchdogConfig {
18    #[clap(long)]
19    pub pd_wallet_monitoring_service_id: String,
20    #[clap(long)]
21    pub config: PathBuf,
22    #[clap(long, default_value = None, global = true)]
23    pub sf_account_identifier: Option<String>,
24    #[clap(long, default_value = None, global = true)]
25    pub sf_warehouse: Option<String>,
26    #[clap(long, default_value = None, global = true)]
27    pub sf_database: Option<String>,
28    #[clap(long, default_value = None, global = true)]
29    pub sf_schema: Option<String>,
30    #[clap(long, default_value = None, global = true)]
31    pub sf_username: Option<String>,
32    #[clap(long, default_value = None, global = true)]
33    pub sf_role: Option<String>,
34    /// The url of the metrics client to connect to.
35    #[clap(long, default_value = "127.0.0.1", global = true)]
36    pub client_metric_host: String,
37    /// The port of the metrics client to connect to.
38    #[clap(long, default_value = "8081", global = true)]
39    pub client_metric_port: u16,
40}