@@ -55,6 +55,21 @@ type HealthResponse struct {
5555 Message string `json:"message"`
5656}
5757
58+ func parseDurationWithDefault (input string , defaultVal time.Duration , name string ) time.Duration {
59+ if input == "" {
60+ return defaultVal
61+ }
62+ parsed , err := time .ParseDuration (input )
63+ if err != nil || parsed <= 0 {
64+ klog .ErrorS (err , "Invalid duration, using default" ,
65+ "setting" , name ,
66+ "input" , input ,
67+ "default" , defaultVal )
68+ return defaultVal
69+ }
70+ return parsed
71+ }
72+
5873func main () {
5974 klog .InitFlags (nil )
6075 flag .Parse ()
@@ -82,31 +97,8 @@ func main() {
8297 os .Exit (1 )
8398 }
8499
85- checkInterval := os .Getenv (envCheckInterval )
86- interval := defaultCheckInterval
87- if checkInterval != "" {
88- parsedInterval , err := time .ParseDuration (checkInterval )
89- if err == nil {
90- interval = parsedInterval
91- } else {
92- klog .ErrorS (err , "Failed to parse check interval, using default" ,
93- "input" , checkInterval ,
94- "default" , defaultCheckInterval )
95- }
96- }
97-
98- heartbeatPeriodStr := os .Getenv (envHeartbeatPeriod )
99- heartbeatPeriod := defaultHeartbeatPeriod
100- if heartbeatPeriodStr != "" {
101- parsedPeriod , err := time .ParseDuration (heartbeatPeriodStr )
102- if err == nil {
103- heartbeatPeriod = parsedPeriod
104- } else {
105- klog .ErrorS (err , "Failed parse heartbeat period, using default" ,
106- "input" , heartbeatPeriodStr ,
107- "default" , defaultHeartbeatPeriod )
108- }
109- }
100+ interval := parseDurationWithDefault (os .Getenv (envCheckInterval ), defaultCheckInterval , "check interval" )
101+ heartbeatPeriod := parseDurationWithDefault (os .Getenv (envHeartbeatPeriod ), defaultHeartbeatPeriod , "heartbeat period" )
110102
111103 // Create Kubernetes client
112104 config , err := rest .InClusterConfig ()
0 commit comments