From 5d9ed95ffded4b304f360257af376f3eea03c117 Mon Sep 17 00:00:00 2001
From: syeopite <syeopite@syeopite.dev>
Date: Tue, 21 Jan 2025 17:20:54 -0800
Subject: [PATCH] Warn when any top-level config is "CHANGE_ME!!"

---
 src/invidious/config.cr | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/invidious/config.cr b/src/invidious/config.cr
index c4ca622f..4b3bdafc 100644
--- a/src/invidious/config.cr
+++ b/src/invidious/config.cr
@@ -184,6 +184,9 @@ class Config
     config = Config.from_yaml(config_yaml)
 
     # Update config from env vars (upcased and prefixed with "INVIDIOUS_")
+    #
+    # Also checks if any top-level config options are set to "CHANGE_ME!!"
+    # TODO: Support non-top-level config options such as the ones in DBConfig
     {% for ivar in Config.instance_vars %}
         {% env_id = "INVIDIOUS_#{ivar.id.upcase}" %}
 
@@ -220,6 +223,12 @@ class Config
                 exit(1)
             end
         end
+
+        # Warn when any config attribute is set to "CHANGE_ME!!"
+        if config.{{ivar.id}} == "CHANGE_ME!!"
+          puts "Config: The value of '#{ {{ivar.stringify}} }' needs to be changed!!"
+          exit(1)
+        end
     {% end %}
 
     # HMAC_key is mandatory
@@ -227,9 +236,6 @@ class Config
     if config.hmac_key.empty?
       puts "Config: 'hmac_key' is required/can't be empty"
       exit(1)
-    elsif config.hmac_key == "CHANGE_ME!!"
-      puts "Config: The value of 'hmac_key' needs to be changed!!"
-      exit(1)
     end
 
     # Build database_url from db.* if it's not set directly