use serde::{Deserialize, Serialize};
use super::kubernetes::KubernetesConfig;
use super::service_mesh::ServiceMeshConfig;
use super::auto_scaling::AutoScalingConfig;
use super::observability::ObservabilityConfig;
use super::multi_cloud::MultiCloudConfig;
use super::gitops::GitOpsConfig;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CloudNativeConfig {
pub kubernetes: KubernetesConfig,
pub service_mesh: ServiceMeshConfig,
pub auto_scaling: AutoScalingConfig,
pub observability: ObservabilityConfig,
pub multi_cloud: MultiCloudConfig,
pub gitops: GitOpsConfig,
}
impl Default for CloudNativeConfig {
fn default() -> Self {
Self {
kubernetes: KubernetesConfig::default(),
service_mesh: ServiceMeshConfig::default(),
auto_scaling: AutoScalingConfig::default(),
observability: ObservabilityConfig::default(),
multi_cloud: MultiCloudConfig::default(),
gitops: GitOpsConfig::default(),
}
}
}