From e3c10d779d315adc630e08005b6bdbdce32f7446 Mon Sep 17 00:00:00 2001 From: Leon Klingele Date: Tue, 4 Feb 2020 15:50:28 +0100 Subject: [PATCH] Add support to read config from environment variable Try to read app config from the "INVIDIOUS_CONFIG" environment variable. If the variable is undefined, read config from config.yml file as before. Required by https://github.com/omarroth/invidious/pull/1015 et al. --- src/invidious.cr | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/invidious.cr b/src/invidious.cr index f5fe4b3d..a4584d4b 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -28,8 +28,11 @@ require "protodec/utils" require "./invidious/helpers/*" require "./invidious/*" -CONFIG = Config.from_yaml(File.read("config/config.yml")) -HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32) +ENV_CONFIG_NAME = "INVIDIOUS_CONFIG" + +CONFIG_STR = ENV.has_key?(ENV_CONFIG_NAME) ? ENV.fetch(ENV_CONFIG_NAME) : File.read("config/config.yml") +CONFIG = Config.from_yaml(CONFIG_STR) +HMAC_KEY = CONFIG.hmac_key || Random::Secure.hex(32) PG_URL = URI.new( scheme: "postgres",