package main import ( "os" "sync" "cmii-uav-watchdog-common/models" ) var PodEnv = models.EnvInfo{} func init() { PodEnv = GetEnvInfo() } // GetEnvInfo 获取环境信息 // 单例模式, 如果已经初始化过, 则直接返回 func GetEnvInfo() models.EnvInfo { var once sync.Once if PodEnv.K8S_NAMESPACE != "" { return PodEnv } once.Do(func() { PodEnv = models.EnvInfo{ K8S_NAMESPACE: os.Getenv("K8S_NAMESPACE"), APPLICATION_NAME: os.Getenv("APPLICATION_NAME"), CUST_JAVA_OPTS: os.Getenv("CUST_JAVA_OPTS"), BIZ_CONFIG_GROUP: os.Getenv("BIZ_CONFIG_GROUP"), SYS_CONFIG_GROUP: os.Getenv("SYS_CONFIG_GROUP"), IMAGE_NAME: os.Getenv("IMAGE_NAME"), JAVA_VERSION: os.Getenv("JAVA_VERSION"), GIT_COMMIT: os.Getenv("GIT_COMMIT"), GIT_BRANCH: os.Getenv("GIT_BRANCH"), NODE_NAME: os.Getenv("NODE_NAME"), NODE_IP: os.Getenv("NODE_IP"), POD_NAME: os.Getenv("POD_NAME"), LIMIT_CPU: os.Getenv("LIMIT_CPU"), LIMIT_MEMORY: os.Getenv("LIMIT_MEMORY"), REQUEST_CPU: os.Getenv("REQUEST_CPU"), REQUEST_MEMORY: os.Getenv("REQUEST_MEMORY"), } }) return PodEnv }