@@ -13,16 +13,17 @@ import (
1313)
1414
1515const (
16- defaultAgentHealthStatusFilePath = "/var/log/mongodb-mms-automation/agent-health-status.json"
17- defaultLogPath = "/var/log/mongodb-mms-automation/readiness.log"
18- podNamespaceEnv = "POD_NAMESPACE"
19- automationConfigSecretEnv = "AUTOMATION_CONFIG_MAP" //nolint
20- agentHealthStatusFilePathEnv = "AGENT_STATUS_FILEPATH"
21- logPathEnv = "LOG_FILE_PATH"
22- hostNameEnv = "HOSTNAME"
23- readinessProbeLoggerBackups = "READINESS_PROBE_LOGGER_BACKUPS"
24- readinessProbeLoggerMaxSize = "READINESS_PROBE_LOGGER_MAX_SIZE"
25- readinessProbeLoggerMaxAge = "READINESS_PROBE_LOGGER_MAX_AGE"
16+ DefaultAgentHealthStatusFilePath = "/var/log/mongodb-mms-automation/agent-health-status.json"
17+ AgentHealthStatusFilePathEnv = "AGENT_STATUS_FILEPATH"
18+
19+ defaultLogPath = "/var/log/mongodb-mms-automation/readiness.log"
20+ podNamespaceEnv = "POD_NAMESPACE"
21+ automationConfigSecretEnv = "AUTOMATION_CONFIG_MAP" //nolint
22+ logPathEnv = "LOG_FILE_PATH"
23+ hostNameEnv = "HOSTNAME"
24+ readinessProbeLoggerBackups = "READINESS_PROBE_LOGGER_BACKUPS"
25+ readinessProbeLoggerMaxSize = "READINESS_PROBE_LOGGER_MAX_SIZE"
26+ readinessProbeLoggerMaxAge = "READINESS_PROBE_LOGGER_MAX_AGE"
2627)
2728
2829type Config struct {
@@ -32,12 +33,10 @@ type Config struct {
3233 AutomationConfigSecretName string
3334 HealthStatusReader io.Reader
3435 LogFilePath string
35- Logger * lumberjack.Logger
3636}
3737
38- func BuildFromEnvVariables (clientSet kubernetes.Interface , isHeadless bool ) (Config , error ) {
39- healthStatusFilePath := getEnvOrDefault (agentHealthStatusFilePathEnv , defaultAgentHealthStatusFilePath )
40- logFilePath := getEnvOrDefault (logPathEnv , defaultLogPath )
38+ func BuildFromEnvVariables (clientSet kubernetes.Interface , isHeadless bool , file * os.File ) (Config , error ) {
39+ logFilePath := GetEnvOrDefault (logPathEnv , defaultLogPath )
4140
4241 var namespace , automationConfigName , hostname string
4342 if isHeadless {
@@ -56,35 +55,33 @@ func BuildFromEnvVariables(clientSet kubernetes.Interface, isHeadless bool) (Con
5655 }
5756 }
5857
59- logger := & lumberjack.Logger {
60- Filename : readinessProbeLogFilePath (),
61- MaxBackups : readIntOrDefault (readinessProbeLoggerBackups , 5 ),
62- MaxSize : readInt (readinessProbeLoggerMaxSize ),
63- MaxAge : readInt (readinessProbeLoggerMaxAge ),
64- }
65-
6658 // Note, that we shouldn't close the file here - it will be closed very soon by the 'ioutil.ReadAll'
6759 // in main.go
68- file , err := os .Open (healthStatusFilePath )
69- if err != nil {
70- return Config {}, err
71- }
7260 return Config {
7361 ClientSet : clientSet ,
7462 Namespace : namespace ,
7563 AutomationConfigSecretName : automationConfigName ,
7664 Hostname : hostname ,
7765 HealthStatusReader : file ,
7866 LogFilePath : logFilePath ,
79- Logger : logger ,
8067 }, nil
8168}
8269
70+ func GetLogger () * lumberjack.Logger {
71+ logger := & lumberjack.Logger {
72+ Filename : readinessProbeLogFilePath (),
73+ MaxBackups : readIntOrDefault (readinessProbeLoggerBackups , 5 ),
74+ MaxSize : readInt (readinessProbeLoggerMaxSize ),
75+ MaxAge : readInt (readinessProbeLoggerMaxAge ),
76+ }
77+ return logger
78+ }
79+
8380func readinessProbeLogFilePath () string {
84- return getEnvOrDefault (logPathEnv , defaultLogPath )
81+ return GetEnvOrDefault (logPathEnv , defaultLogPath )
8582}
8683
87- func getEnvOrDefault (envVar , defaultValue string ) string {
84+ func GetEnvOrDefault (envVar , defaultValue string ) string {
8885 value := strings .TrimSpace (os .Getenv (envVar ))
8986 if value == "" {
9087 return defaultValue
@@ -101,7 +98,7 @@ func readInt(envVarName string) int {
10198// readIntOrDefault returns the int value of an envvar of the given name.
10299// defaults to the given value if not specified.
103100func readIntOrDefault (envVarName string , defaultValue int ) int {
104- envVar := getEnvOrDefault (envVarName , strconv .Itoa (defaultValue ))
101+ envVar := GetEnvOrDefault (envVarName , strconv .Itoa (defaultValue ))
105102 intValue , err := strconv .Atoi (envVar )
106103 if err != nil {
107104 return defaultValue
0 commit comments