@@ -3,6 +3,7 @@ use std::{io::Write, path::PathBuf};
|
||||
use bindings::{
|
||||
component::churn_tasks::process::Process, exports::component::churn_tasks::task::Guest,
|
||||
};
|
||||
use minijinja::{context, Environment};
|
||||
|
||||
#[allow(warnings)]
|
||||
mod bindings;
|
||||
@@ -55,6 +56,9 @@ impl Guest for Component {
|
||||
fn execute() {
|
||||
println!("running alloy installation");
|
||||
|
||||
let process = Process::new();
|
||||
let node_name = process.get_variable("node_name");
|
||||
|
||||
let output = Process::new().run_process(
|
||||
&["systemctl", "is-enabled", "alloy.service"]
|
||||
.into_iter()
|
||||
@@ -67,6 +71,11 @@ impl Guest for Component {
|
||||
|
||||
let restart = match std::fs::read_to_string(ALLOY_CONFIG_PATH) {
|
||||
Ok(content) => {
|
||||
let mut env = Environment::new();
|
||||
env.add_template("alloy.config", &content).unwrap();
|
||||
let tmpl = env.get_template("alloy.config").unwrap();
|
||||
let content = tmpl.render(context! {node_name => node_name}).unwrap();
|
||||
|
||||
if content != ALLOY_CONFIG_FILE {
|
||||
let mut file = std::fs::File::create(ALLOY_CONFIG_PATH)
|
||||
.expect("to be able to create file");
|
||||
@@ -122,7 +131,13 @@ fn install_alloy() -> Result<(), String> {
|
||||
run_command(["bash", "-c", "wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null"])?;
|
||||
run_command(["bash", "-c", "echo \"deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main\" | sudo tee /etc/apt/sources.list.d/grafana.list"])?;
|
||||
run_command(["apt-get", "update"])?;
|
||||
run_command(["apt-get", "install", "alloy"])?;
|
||||
run_command([
|
||||
"apt-get",
|
||||
"install",
|
||||
"-o Dpkg::Options::=\"--force-confdef\"",
|
||||
"-o Dpkg::Options::=\"--force-confold\"",
|
||||
"alloy",
|
||||
])?;
|
||||
println!("=== finished installing alloy ===");
|
||||
|
||||
Ok(())
|
||||
|
Reference in New Issue
Block a user