fix: try to properly append YAML in correct places in argoapplication #80

Merged
taha merged 3 commits from fix_yaml_generation into master 2025-07-04 15:32:09 +00:00
5 changed files with 6 additions and 8 deletions
Showing only changes of commit 24ae8b8ca3 - Show all commits

View File

@ -3,7 +3,6 @@ use serde::Serialize;
use crate::topology::Topology; use crate::topology::Topology;
use super::Application;
/// An ApplicationFeature provided by harmony, such as Backups, Monitoring, MultisiteAvailability, /// An ApplicationFeature provided by harmony, such as Backups, Monitoring, MultisiteAvailability,
/// ContinuousIntegration, ContinuousDelivery /// ContinuousIntegration, ContinuousDelivery
#[async_trait] #[async_trait]

View File

@ -3,8 +3,7 @@ use std::{backtrace, collections::HashMap};
use k8s_openapi::{Metadata, NamespaceResourceScope, Resource}; use k8s_openapi::{Metadata, NamespaceResourceScope, Resource};
use log::debug; use log::debug;
use serde::Serialize; use serde::Serialize;
use serde_json::map::ValuesMut; use serde_yaml::Value;
use serde_yaml::{Mapping, Value};
use url::Url; use url::Url;
use crate::modules::application::features::CDApplicationConfig; use crate::modules::application::features::CDApplicationConfig;
@ -187,7 +186,7 @@ impl ArgoApplication {
let project = &self.project; let project = &self.project;
let source = &self.source; let source = &self.source;
let mut yaml_str = format!( let yaml_str = format!(
r#" r#"
apiVersion: argoproj.io/v1alpha1 apiVersion: argoproj.io/v1alpha1
kind: Application kind: Application
@ -214,7 +213,7 @@ spec:
let mut yaml_value: Value = let mut yaml_value: Value =
serde_yaml::from_str(yaml_str.as_str()).expect("couldn't parse string to YAML"); serde_yaml::from_str(yaml_str.as_str()).expect("couldn't parse string to YAML");
let mut spec = yaml_value let spec = yaml_value
.get_mut("spec") .get_mut("spec")
.expect("couldn't get spec from yaml") .expect("couldn't get spec from yaml")
.as_mapping_mut() .as_mapping_mut()

View File

@ -2,7 +2,7 @@ use async_trait::async_trait;
use log::info; use log::info;
use crate::{ use crate::{
modules::application::{Application, ApplicationFeature}, modules::application::ApplicationFeature,
topology::{K8sclient, Topology}, topology::{K8sclient, Topology},
}; };

View File

@ -2,7 +2,7 @@ use async_trait::async_trait;
use log::info; use log::info;
use crate::{ use crate::{
modules::application::{Application, ApplicationFeature}, modules::application::ApplicationFeature,
topology::{HelmCommand, Topology}, topology::{HelmCommand, Topology},
}; };

View File

@ -10,7 +10,7 @@ use crate::{
modules::monitoring::alert_rule::prometheus_alert_rule::AlertManagerRuleGroup, modules::monitoring::alert_rule::prometheus_alert_rule::AlertManagerRuleGroup,
score, score,
topology::{ topology::{
HelmCommand, K8sAnywhereTopology, Topology, HelmCommand, Topology,
installable::Installable, installable::Installable,
oberservability::monitoring::{AlertReceiver, AlertRule, AlertSender}, oberservability::monitoring::{AlertReceiver, AlertRule, AlertSender},
tenant::TenantManager, tenant::TenantManager,