mirror of
https://github.com/moghtech/komodo.git
synced 2026-08-24 16:00:18 +00:00
config support yaml
This commit is contained in:
Generated
+6
-5
@@ -1075,6 +1075,7 @@ dependencies = [
|
||||
"indexmap 2.10.0",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_yaml_ng",
|
||||
"thiserror 2.0.12",
|
||||
"toml",
|
||||
"wildcard",
|
||||
@@ -2688,7 +2689,7 @@ dependencies = [
|
||||
"rustls 0.23.31",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_yaml",
|
||||
"serde_yaml_ng",
|
||||
"serror",
|
||||
"sha2",
|
||||
"slack_client_rs",
|
||||
@@ -2742,7 +2743,7 @@ dependencies = [
|
||||
"rustls 0.23.31",
|
||||
"serde",
|
||||
"serde_json",
|
||||
"serde_yaml",
|
||||
"serde_yaml_ng",
|
||||
"serror",
|
||||
"sysinfo",
|
||||
"tokio",
|
||||
@@ -4627,10 +4628,10 @@ dependencies = [
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde_yaml"
|
||||
version = "0.9.34+deprecated"
|
||||
name = "serde_yaml_ng"
|
||||
version = "0.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
|
||||
checksum = "7b4db627b98b36d4203a7b458cf3573730f2bb591b28871d916dfa9efabfd41f"
|
||||
dependencies = [
|
||||
"indexmap 2.10.0",
|
||||
"itoa",
|
||||
|
||||
+1
-1
@@ -68,8 +68,8 @@ ipnetwork = { version = "0.21.1", features = ["serde"] }
|
||||
indexmap = { version = "2.10.0", features = ["serde"] }
|
||||
serde = { version = "1.0.219", features = ["derive"] }
|
||||
strum = { version = "0.27.2", features = ["derive"] }
|
||||
serde_yaml_ng = "0.10.0"
|
||||
serde_json = "1.0.142"
|
||||
serde_yaml = "0.9.34-deprecated"
|
||||
serde_qs = "0.15.0"
|
||||
toml = "0.9.5"
|
||||
|
||||
|
||||
+1
-1
@@ -50,7 +50,7 @@ tokio-util.workspace = true
|
||||
axum-extra.workspace = true
|
||||
tower-http.workspace = true
|
||||
serde_json.workspace = true
|
||||
serde_yaml.workspace = true
|
||||
serde_yaml_ng.workspace = true
|
||||
typeshare.workspace = true
|
||||
chrono-tz.workspace = true
|
||||
indexmap.workspace = true
|
||||
|
||||
@@ -29,7 +29,7 @@ pub fn extract_services_into_res(
|
||||
compose_contents: &str,
|
||||
res: &mut Vec<StackServiceNames>,
|
||||
) -> anyhow::Result<()> {
|
||||
let compose = serde_yaml::from_str::<ComposeFile>(compose_contents)
|
||||
let compose = serde_yaml_ng::from_str::<ComposeFile>(compose_contents)
|
||||
.context("failed to parse service names from compose contents")?;
|
||||
|
||||
let mut services = Vec::with_capacity(compose.services.capacity());
|
||||
|
||||
@@ -39,7 +39,7 @@ tokio-stream.workspace = true
|
||||
portable-pty.workspace = true
|
||||
axum-server.workspace = true
|
||||
serde_json.workspace = true
|
||||
serde_yaml.workspace = true
|
||||
serde_yaml_ng.workspace = true
|
||||
tokio-util.workspace = true
|
||||
arc-swap.workspace = true
|
||||
futures.workspace = true
|
||||
|
||||
@@ -562,7 +562,7 @@ impl Resolve<super::Args> for ComposeUp {
|
||||
return Ok(res);
|
||||
}
|
||||
let compose =
|
||||
serde_yaml::from_str::<ComposeFile>(&config_log.stdout)
|
||||
serde_yaml_ng::from_str::<ComposeFile>(&config_log.stdout)
|
||||
.context("Failed to parse compose contents")?;
|
||||
// Record sanitized compose config output
|
||||
res.compose_config = Some(config_log.stdout);
|
||||
|
||||
@@ -9,6 +9,7 @@ homepage.workspace = true
|
||||
|
||||
[dependencies]
|
||||
serde_json.workspace = true
|
||||
serde_yaml_ng.workspace = true
|
||||
thiserror.workspace = true
|
||||
indexmap.workspace = true
|
||||
wildcard.workspace = true
|
||||
|
||||
@@ -27,6 +27,12 @@ pub enum Error {
|
||||
#[error("Failed to parse toml file at {path} | {e:?}")]
|
||||
ParseToml { e: toml::de::Error, path: PathBuf },
|
||||
|
||||
#[error("Failed to parse yaml file at {path} | {e:?}")]
|
||||
ParseYaml {
|
||||
e: serde_yaml_ng::Error,
|
||||
path: PathBuf,
|
||||
},
|
||||
|
||||
#[error("Failed to parse json file at {path} | {e:?}")]
|
||||
ParseJson { e: serde_json::Error, path: PathBuf },
|
||||
|
||||
|
||||
@@ -270,6 +270,14 @@ pub fn parse_config_file<T: DeserializeOwned>(
|
||||
path: file.to_path_buf(),
|
||||
})?
|
||||
}
|
||||
Some("yaml") | Some("yml") => {
|
||||
serde_yaml_ng::from_reader(file_handle).map_err(|e| {
|
||||
Error::ParseYaml {
|
||||
e,
|
||||
path: file.to_path_buf(),
|
||||
}
|
||||
})?
|
||||
}
|
||||
Some("json") => {
|
||||
serde_json::from_reader(file_handle).map_err(|e| {
|
||||
Error::ParseJson {
|
||||
|
||||
Reference in New Issue
Block a user