Create YAML from struct
All checks were successful
Run Check Script / check (pull_request) Successful in -8s
All checks were successful
Run Check Script / check (pull_request) Successful in -8s
This commit is contained in:
parent
c7a4aeb5cf
commit
7169fe2d18
@ -172,3 +172,55 @@ impl From<CDApplicationConfig> for ArgoApplication {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl ArgoApplication {
|
||||||
|
fn to_yaml(self) -> serde_yaml::Value {
|
||||||
|
let name = self.name;
|
||||||
|
let namespace = if let Some(ns) = self.namespace {
|
||||||
|
ns
|
||||||
|
} else {
|
||||||
|
"argocd".to_string()
|
||||||
|
};
|
||||||
|
let project = self.project;
|
||||||
|
let source = self.source;
|
||||||
|
|
||||||
|
let mut yaml_str = format!(
|
||||||
|
r#"
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: {name}
|
||||||
|
# You'll usually want to add your resources to the argocd namespace.
|
||||||
|
namespace: {namespace}
|
||||||
|
spec:
|
||||||
|
# The project the application belongs to.
|
||||||
|
project: {project}
|
||||||
|
|
||||||
|
# Destination cluster and namespace to deploy the application
|
||||||
|
destination:
|
||||||
|
# cluster API URL
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
# or cluster name
|
||||||
|
# name: in-cluster
|
||||||
|
# The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace
|
||||||
|
namespace: {namespace}
|
||||||
|
|
||||||
|
"#
|
||||||
|
);
|
||||||
|
|
||||||
|
yaml_str.push_str(
|
||||||
|
&serde_yaml::to_string(&source.clone())
|
||||||
|
.expect("couldn't serialize source to yaml string"),
|
||||||
|
);
|
||||||
|
yaml_str.push_str(
|
||||||
|
&serde_yaml::to_string(&self.sync_policy)
|
||||||
|
.expect("couldn't serialize source to yaml string"),
|
||||||
|
);
|
||||||
|
yaml_str.push_str(
|
||||||
|
&serde_yaml::to_string(&self.revision_history_limit)
|
||||||
|
.expect("couldn't serialize source to yaml string"),
|
||||||
|
);
|
||||||
|
|
||||||
|
serde_yaml::from_str(&yaml_str).expect("Couldn't parse YAML")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
@ -3,7 +3,7 @@ use std::str::FromStr;
|
|||||||
|
|
||||||
use crate::modules::helm::chart::{HelmChartScore, HelmRepository};
|
use crate::modules::helm::chart::{HelmChartScore, HelmRepository};
|
||||||
|
|
||||||
pub fn ntfy_helm_chart_score(namespace: String, openshift: bool, domain: String) -> HelmChartScore {
|
pub fn argo_helm_chart_score(namespace: String, openshift: bool, domain: String) -> HelmChartScore {
|
||||||
let values = format!(
|
let values = format!(
|
||||||
r#"
|
r#"
|
||||||
# -- Create aggregated roles that extend existing cluster roles to interact with argo-cd resources
|
# -- Create aggregated roles that extend existing cluster roles to interact with argo-cd resources
|
||||||
@ -317,7 +317,7 @@ controller:
|
|||||||
annotations: {{}}
|
annotations: {{}}
|
||||||
rules:
|
rules:
|
||||||
# -- Deploy a PrometheusRule for the application controller
|
# -- Deploy a PrometheusRule for the application controller
|
||||||
enabled: true
|
enabled: false
|
||||||
# -- PrometheusRule namespace
|
# -- PrometheusRule namespace
|
||||||
namespace: "" # "monitoring"
|
namespace: "" # "monitoring"
|
||||||
# -- PrometheusRule selector
|
# -- PrometheusRule selector
|
||||||
@ -898,8 +898,8 @@ notifications:
|
|||||||
templates: {{}}
|
templates: {{}}
|
||||||
|
|
||||||
commitServer:
|
commitServer:
|
||||||
# -- Enable commit server
|
# -- Enable commit server
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
"#,
|
"#,
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user