diff options
| author | Jokler <github@jokler.xyz> | 2026-10-05 21:14:24 +0200 |
|---|---|---|
| committer | Jokler <github@jokler.xyz> | 2026-10-05 22:25:43 +0200 |
| commit | 68dfe8a5688f2b4b31486a596a4558d2a29b7725 (patch) | |
| tree | 4d44c9c41178746e562ad3d9defbbe07bb28d463 /src | |
| parent | 625ea9193202f678ab2799283ddfe2b282ba1e90 (diff) | |
| download | joklerpoints-68dfe8a5688f2b4b31486a596a4558d2a29b7725.tar.gz joklerpoints-68dfe8a5688f2b4b31486a596a4558d2a29b7725.zip | |
Add SECRET_KEY_FILE env var
Diffstat (limited to 'src')
| -rw-r--r-- | src/main.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index c5de543..0e38a05 100644 --- a/src/main.rs +++ b/src/main.rs @@ -3,6 +3,9 @@ extern crate diesel; #[macro_use] extern crate diesel_migrations; +use std::fs::File; +use std::io::Read; + use actix::prelude::*; use actix_web::middleware::{errhandlers::ErrorHandlers, Logger}; @@ -59,7 +62,19 @@ async fn main() -> std::io::Result<()> { SyncArbiter::start(4, move || PassHashExecutor(Hasher::default())); HttpServer::new(move || { - let secret: String = std::env::var("SECRET_KEY").expect("SECRET_KEY env var should be set"); + let secret = if let Ok(path) = std::env::var("SECRET_KEY_FILE") { + let mut file = File::open(path).expect("SECRET_KEY_FILE openable"); + let mut content = String::new(); + + file.read_to_string(&mut content) + .expect("SECRET_KEY_FILE content readable"); + content.trim(); + + content + } else { + std::env::var("SECRET_KEY").expect("SECRET_KEY env var should be set") + }; + let domain: String = std::env::var("DOMAIN").unwrap_or_else(|_| "localhost".to_string()); let secure_cookies = &domain != "localhost"; |
