feat: add serialize and deserialize for manifest

This commit is contained in:
2026-01-06 12:38:25 +01:00
parent 353b8c1eb0
commit 2348c27d8b
6 changed files with 47 additions and 41 deletions

View File

@@ -1,7 +1,7 @@
use async_trait::async_trait;
use nocontrol::{
manifests::{Manifest, ManifestMetadata, ManifestState},
Operator,
Operator, Specification,
};
use serde::{Deserialize, Serialize};
use tracing_test::traced_test;
@@ -80,11 +80,19 @@ impl Operator for MyOperator {
}
}
#[derive(Clone, Serialize)]
#[derive(Clone, Serialize, Deserialize)]
pub enum Specifications {
Deployment(DeploymentControllerManifest),
}
impl Specification for Specifications {
fn kind(&self) -> &'static str {
match self {
Specifications::Deployment(_) => "deployment",
}
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DeploymentControllerManifest {
name: String,