aboutsummaryrefslogtreecommitdiff
path: root/src/context.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/context.rs')
-rw-r--r--src/context.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/context.rs b/src/context.rs
index 89e2c3e..f67c302 100644
--- a/src/context.rs
+++ b/src/context.rs
@@ -1,4 +1,4 @@
1use eyre::{Context as _, Result}; 1use eyre::Result;
2 2
3use crate::machine::Machine; 3use crate::machine::Machine;
4 4
@@ -60,7 +60,7 @@ impl Context {
60} 60}
61 61
62async fn get_execution_node() -> Result<ExecutionNode> { 62async fn get_execution_node() -> Result<ExecutionNode> {
63 let hostname = get_hostname().await?; 63 let hostname = get_hostname().await;
64 let node = match hostname.as_str() { 64 let node = match hostname.as_str() {
65 "frontend" => ExecutionNode::Frontend, 65 "frontend" => ExecutionNode::Frontend,
66 _ => match Machine::from_hostname(&hostname) { 66 _ => match Machine::from_hostname(&hostname) {
@@ -71,11 +71,14 @@ async fn get_execution_node() -> Result<ExecutionNode> {
71 Ok(node) 71 Ok(node)
72} 72}
73 73
74async fn get_hostname() -> Result<String> { 74async fn get_hostname() -> String {
75 if let Ok(hostname) = tokio::fs::read_to_string("/etc/hostname").await { 75 let hostname = if let Ok(hostname) = tokio::fs::read_to_string("/etc/hostname").await {
76 Ok(hostname) 76 hostname
77 } else if let Ok(hostname) = std::env::var("HOSTNAME") {
78 hostname
77 } else { 79 } else {
78 std::env::var("HOSTNAME").context("reading HOSTNAME env var") 80 tracing::warn!("unable to obtain hostname, using empty string");
79 } 81 String::default()
80 .map(|hostname| hostname.trim().to_string()) 82 };
83 hostname.trim().to_string()
81} 84}