From 151e3860a49e91ddc870b92e9c76c8c33b7d878a Mon Sep 17 00:00:00 2001 From: Shadowfacts Date: Tue, 3 Jan 2023 14:25:26 -0500 Subject: [PATCH] Fix loading keys from environment var --- src/activitypub/keys.rs | 5 ++++- src/activitypub/mod.rs | 2 +- src/main.rs | 5 +++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/activitypub/keys.rs b/src/activitypub/keys.rs index cad212e..9f2aeae 100644 --- a/src/activitypub/keys.rs +++ b/src/activitypub/keys.rs @@ -1,10 +1,13 @@ +use log::debug; use once_cell::sync::Lazy; use std::{fs, io::Read}; macro_rules! read { ($env:ident, $default:literal) => { pub static $env: Lazy = Lazy::new(|| { - let path = option_env!("$env").unwrap_or($default); + let env_path = std::env::var(stringify!($env)); + let path = env_path.as_deref().unwrap_or($default); + debug!("Reading key from {}", path); let mut f = fs::File::open(path).unwrap(); let mut s = String::new(); f.read_to_string(&mut s).unwrap(); diff --git a/src/activitypub/mod.rs b/src/activitypub/mod.rs index c6d3c96..a1f3469 100644 --- a/src/activitypub/mod.rs +++ b/src/activitypub/mod.rs @@ -5,7 +5,7 @@ mod db; pub mod digester; pub mod federate; mod inbox; -mod keys; +pub mod keys; mod types; mod util; mod webfinger; diff --git a/src/main.rs b/src/main.rs index f105a07..bdcb829 100644 --- a/src/main.rs +++ b/src/main.rs @@ -16,6 +16,7 @@ use generator::output_path; use log::error; use log::info; use notify_debouncer_mini::new_debouncer; +use once_cell::sync::Lazy; use sqlx::{ sqlite::{SqliteConnectOptions, SqlitePoolOptions}, ConnectOptions, SqlitePool, @@ -46,6 +47,10 @@ async fn main() { let _ = generate().await; } Some(("serve", matches)) => { + // ensure that the keys are loadable + _ = Lazy::force(&activitypub::keys::PUB_KEY_PEM); + _ = Lazy::force(&activitypub::keys::PRIV_KEY_PEM); + let posts = generate().await.expect("initial generation"); info!("Generated");