#[derive(Debug, Clone)]
pub struct KubePrometheusConfig {
    pub namespace: String,
    pub node_exporter: bool,
    pub alert_manager: bool,
    pub prometheus: bool,
    pub grafana: bool,
    pub windows_monitoring: bool,
    pub kubernetes_service_monitors: bool,
    pub kubelet: bool,
    pub kube_controller_manager: bool,
    pub kube_etcd: bool,
    pub kube_proxy: bool,
    pub kube_state_metrics: bool,
    pub prometheus_operator: bool,
}

impl Default for KubePrometheusConfig {
    fn default() -> Self {
        Self {
            namespace: "monitoring".into(),
            node_exporter: false,
            alert_manager: false,
            prometheus: true,
            grafana: true,
            windows_monitoring: false,
            kubernetes_service_monitors: true,
            kubelet: true,
            kube_controller_manager: true,
            kube_etcd: true,
            kube_proxy: true,
            kube_state_metrics: true,
            prometheus_operator: true,
        }
    }
}

