summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorJokler <github@jokler.xyz>2026-10-05 21:14:24 +0200
committerJokler <github@jokler.xyz>2026-10-05 22:25:43 +0200
commit68dfe8a5688f2b4b31486a596a4558d2a29b7725 (patch)
tree4d44c9c41178746e562ad3d9defbbe07bb28d463 /src/main.rs
parent625ea9193202f678ab2799283ddfe2b282ba1e90 (diff)
downloadjoklerpoints-68dfe8a5688f2b4b31486a596a4558d2a29b7725.tar.gz
joklerpoints-68dfe8a5688f2b4b31486a596a4558d2a29b7725.zip
Add SECRET_KEY_FILE env var
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs17
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";