From c4d0836063f8b4b0c461b6471cbfa3413aa87d48 Mon Sep 17 00:00:00 2001 From: Marvin Zhang Date: Fri, 14 Feb 2025 11:16:32 +0800 Subject: [PATCH] feat: add GetInstallEnvs utility function for configuration management - Introduced a new function GetInstallEnvs in config.go to retrieve installation environment variables - Added DefaultInstallEnvs constant with an empty default value - Implemented fallback mechanism to split DefaultInstallEnvs if no configuration is found - Enhances configuration flexibility for installation environments --- core/utils/config.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/utils/config.go b/core/utils/config.go index b35ae9e0..eb107c64 100644 --- a/core/utils/config.go +++ b/core/utils/config.go @@ -28,6 +28,7 @@ const ( DefaultApiPath = "/api" DefaultNodeMaxRunners = 0 // 0 means no limit DefaultInstallRoot = "/app/install" + DefaultInstallEnvs = "" MetadataConfigDirName = ".crawlab" MetadataConfigName = "config.json" DefaultPyenvPath = "/root/.pyenv" @@ -250,6 +251,13 @@ func GetInstallRoot() string { return DefaultInstallRoot } +func GetInstallEnvs() []string { + if res := viper.GetStringSlice("install.envs"); res != nil { + return res + } + return strings.Split(DefaultInstallEnvs, ",") +} + func GetPyenvPath() string { if res := viper.GetString("install.pyenv.path"); res != "" { return res