Files
cmii-uav-watchdog-project/cmii-uav-watchdog-agent/cmd/env_info.go
2025-12-06 11:26:05 +08:00

48 lines
1.2 KiB
Go

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
}