From 1ddd9dc19cc1df1a1ab8c6123283999f9dea6760 Mon Sep 17 00:00:00 2001 From: Anton Popovichenko Date: Thu, 19 Aug 2021 22:26:16 +0200 Subject: Core/Config: Implement config override with env vars (#26811) * Core/Config: Implement config override with env vars Implement overriding of configuration from the .conf file with environment variables. Environment variables keys are autogenerated based on the keys defined in .conf file. Usage example: $ export TC_DATA_DIR=/usr $ TC_WORLD_SERVER_PORT=8080 ./worldserver * Core/Config Fix typo in logs Co-authored-by: Giacomo Pozzoni * Core/Config Fix code style in EnvVarForIniKey Co-authored-by: Shauren * Update tests/common/Config.cpp * Apply suggestions from code review Co-authored-by: Peter Keresztes Schmidt * Apply suggestions from code review Co-authored-by: Peter Keresztes Schmidt Co-authored-by: Anton Popovichenko Co-authored-by: Giacomo Pozzoni Co-authored-by: Shauren Co-authored-by: Peter Keresztes Schmidt --- src/server/authserver/Main.cpp | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/server/authserver/Main.cpp') diff --git a/src/server/authserver/Main.cpp b/src/server/authserver/Main.cpp index 7a6a5037676..af0acb97236 100644 --- a/src/server/authserver/Main.cpp +++ b/src/server/authserver/Main.cpp @@ -108,6 +108,8 @@ int main(int argc, char** argv) return 1; } + std::vector overriddenKeys = sConfigMgr->OverrideWithEnvVariablesIfAny(); + sLog->RegisterAppender(); sLog->Initialize(nullptr); @@ -124,6 +126,9 @@ int main(int argc, char** argv) } ); + for (std::string const& key : overriddenKeys) + TC_LOG_INFO("server.authserver", "Configuration field '%s' was overridden with environment variable.", key.c_str()); + // authserver PID file creation std::string pidFile = sConfigMgr->GetStringDefault("PidFile", ""); if (!pidFile.empty()) -- cgit v1.2.3