feat: Make application async
This commit is contained in:
+6
-6
@@ -1,10 +1,10 @@
|
||||
use std::net::Ipv4Addr;
|
||||
use std::process::Command;
|
||||
|
||||
use minijinja::Environment;
|
||||
use optional_struct::{Applicable, optional_struct};
|
||||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use tokio::process::Command;
|
||||
|
||||
use crate::cluster::{Base, Cluster};
|
||||
use crate::patch::{OptionalPatches, OptionalPatchesString, Patches};
|
||||
@@ -90,7 +90,7 @@ pub(crate) struct NodeDeserialize {
|
||||
sops: Secret,
|
||||
}
|
||||
|
||||
#[derive(Debug, Serialize)]
|
||||
#[derive(Debug, Serialize, Clone)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
pub struct Node {
|
||||
hostname: String,
|
||||
@@ -106,9 +106,9 @@ pub struct Node {
|
||||
}
|
||||
|
||||
impl Node {
|
||||
pub(crate) fn get(
|
||||
pub(crate) async fn get(
|
||||
node_name: &str,
|
||||
env: &Environment,
|
||||
env: &Environment<'static>,
|
||||
cluster: &Cluster,
|
||||
default: &OptionalNodeDeserialize,
|
||||
base: &Base,
|
||||
@@ -121,7 +121,7 @@ impl Node {
|
||||
.to_string();
|
||||
|
||||
path.add_extension("yaml");
|
||||
let content = std::fs::read_to_string(path).unwrap();
|
||||
let content = tokio::fs::read_to_string(path).await.unwrap();
|
||||
|
||||
let node: OptionalNodeDeserialize = serde_yaml::from_str(&content).unwrap();
|
||||
|
||||
@@ -172,7 +172,7 @@ impl Node {
|
||||
};
|
||||
|
||||
// Render patches
|
||||
let patches = patches.render(env, cluster, &node);
|
||||
let patches = patches.render(env, cluster, &node).await;
|
||||
|
||||
Node { patches, ..node }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user