feat: Application module architecture and placeholder features #70

Merged
letian merged 11 commits from feat/applicationModule into master 2025-07-01 19:40:43 +00:00
5 changed files with 9 additions and 5 deletions
Showing only changes of commit 2c90d50168 - Show all commits

View File

@ -17,7 +17,10 @@ impl std::fmt::Debug for K8sClient {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
// This is a poor man's debug implementation for now as kube::Client does not provide much
// useful information
f.write_fmt(format_args!("K8sClient {{ kube client using default namespace {} }}", self.client.default_namespace()))
f.write_fmt(format_args!(
"K8sClient {{ kube client using default namespace {} }}",
self.client.default_namespace()
))
}
}

View File

@ -61,7 +61,8 @@ impl K8sclient for K8sAnywhereTopology {
impl Serialize for K8sAnywhereTopology {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: serde::Serializer {
S: serde::Serializer,
{
todo!()
}
}

View File

@ -13,7 +13,7 @@ use crate::{modules::application::ApplicationFeature, topology::Topology};
/// It is intended to be used as an application feature passed down to an ApplicationInterpret. For
/// example :
///
/// ```rust
/// ```rust,ignore
/// let app = RustApplicationScore {
/// name: "My Rust App".to_string(),
/// features: vec![ContinuousDelivery::default()],

View File

@ -91,7 +91,7 @@ impl<T: Topology> Clone for Box<dyn ApplicationFeature<T>> {
pub struct BackupFeature;
#[async_trait]
impl <T: Topology > ApplicationFeature<T> for BackupFeature {
impl<T: Topology> ApplicationFeature<T> for BackupFeature {
async fn ensure_installed(&self, _topology: &T) -> Result<(), String> {
todo!()
}

View File

@ -1,3 +1,4 @@
pub mod application;
pub mod cert_manager;
pub mod dhcp;
pub mod dns;
@ -14,4 +15,3 @@ pub mod okd;
pub mod opnsense;
pub mod tenant;
pub mod tftp;
pub mod application;