aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authornotgne22020-10-05 20:10:41 -0700
committernotgne22020-10-05 20:11:31 -0700
commitaabcf6b77d4159100a49b143cbb8da4bad194f14 (patch)
treeb44ba5b13aeefa6242386b58fd322f30a75f7193 /src
parent1de1ad5ff893bfcabdf2bfa20d8c93a8cdbb0156 (diff)
Improve schema a bit, fix flake locks for examples
Diffstat (limited to 'src')
-rw-r--r--src/main.rs28
-rw-r--r--src/utils/data.rs15
2 files changed, 26 insertions, 17 deletions
diff --git a/src/main.rs b/src/main.rs
index 219c3e5..fb3fb66 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -65,17 +65,22 @@ async fn push_all_profiles(
) -> Result<(), Box<dyn std::error::Error>> {
info!("Pushing all profiles for `{}`", node_name);
- let mut profiles_list: Vec<&str> = node.profiles_order.iter().map(|x| x.as_ref()).collect();
+ let mut profiles_list: Vec<&str> = node
+ .node_settings
+ .profiles_order
+ .iter()
+ .map(|x| x.as_ref())
+ .collect();
// Add any profiles which weren't in the provided order list
- for profile_name in node.profiles.keys() {
+ for profile_name in node.node_settings.profiles.keys() {
if !profiles_list.contains(&profile_name.as_str()) {
profiles_list.push(&profile_name);
}
}
for profile_name in profiles_list {
- let profile = match node.profiles.get(profile_name) {
+ let profile = match node.node_settings.profiles.get(profile_name) {
Some(x) => x,
None => good_panic!("No profile was found named `{}`", profile_name),
};
@@ -117,17 +122,22 @@ async fn deploy_all_profiles(
) -> Result<(), Box<dyn std::error::Error>> {
info!("Deploying all profiles for `{}`", node_name);
- let mut profiles_list: Vec<&str> = node.profiles_order.iter().map(|x| x.as_ref()).collect();
+ let mut profiles_list: Vec<&str> = node
+ .node_settings
+ .profiles_order
+ .iter()
+ .map(|x| x.as_ref())
+ .collect();
// Add any profiles which weren't in the provided order list
- for profile_name in node.profiles.keys() {
+ for profile_name in node.node_settings.profiles.keys() {
if !profiles_list.contains(&profile_name.as_str()) {
profiles_list.push(&profile_name);
}
}
for profile_name in profiles_list {
- let profile = match node.profiles.get(profile_name) {
+ let profile = match node.node_settings.profiles.get(profile_name) {
Some(x) => x,
None => good_panic!("No profile was found named `{}`", profile_name),
};
@@ -203,8 +213,8 @@ async fn get_deployment_data(
}
let build_output = build_command
- .stdout(Stdio::null())
- .stderr(Stdio::null())
+ // .stdout(Stdio::null())
+ // .stderr(Stdio::null())
.output()
.await?;
@@ -233,7 +243,7 @@ async fn run_deploy(
Some(x) => x,
None => good_panic!("No node was found named `{}`", node_name),
};
- let profile = match node.profiles.get(profile_name) {
+ let profile = match node.node_settings.profiles.get(profile_name) {
Some(x) => x,
None => good_panic!("No profile was found named `{}`", profile_name),
};
diff --git a/src/utils/data.rs b/src/utils/data.rs
index de6adfc..371c82d 100644
--- a/src/utils/data.rs
+++ b/src/utils/data.rs
@@ -29,6 +29,13 @@ pub struct GenericSettings {
#[derive(Deserialize, Debug, Clone)]
pub struct NodeSettings {
pub hostname: String,
+ pub profiles: HashMap<String, Profile>,
+ #[serde(
+ skip_serializing_if = "Vec::is_empty",
+ default,
+ rename(deserialize = "profilesOrder")
+ )]
+ pub profiles_order: Vec<String>,
}
#[derive(Deserialize, Debug, Clone)]
@@ -51,14 +58,6 @@ pub struct Node {
pub generic_settings: GenericSettings,
#[serde(flatten)]
pub node_settings: NodeSettings,
-
- pub profiles: HashMap<String, Profile>,
- #[serde(
- skip_serializing_if = "Vec::is_empty",
- default,
- rename(deserialize = "profilesOrder")
- )]
- pub profiles_order: Vec<String>,
}
#[derive(Deserialize, Debug, Clone)]