github.com/secure-build/gitlab-runner@v12.5.0+incompatible/executors/custom/config.go (about) 1 package custom 2 3 import ( 4 "time" 5 6 "gitlab.com/gitlab-org/gitlab-runner/common" 7 ) 8 9 type config struct { 10 *common.CustomConfig 11 } 12 13 func (c *config) GetConfigExecTimeout() time.Duration { 14 return getDuration(c.ConfigExecTimeout, defaultConfigExecTimeout) 15 } 16 17 func (c *config) GetPrepareExecTimeout() time.Duration { 18 return getDuration(c.PrepareExecTimeout, defaultPrepareExecTimeout) 19 } 20 21 func (c *config) GetCleanupScriptTimeout() time.Duration { 22 return getDuration(c.CleanupExecTimeout, defaultCleanupExecTimeout) 23 } 24 25 func (c *config) GetGracefulKillTimeout() time.Duration { 26 return getDuration(c.GracefulKillTimeout, defaultGracefulKillTimeout) 27 } 28 29 func (c *config) GetForceKillTimeout() time.Duration { 30 return getDuration(c.ForceKillTimeout, defaultForceKillTimeout) 31 } 32 33 func getDuration(source *int, defaultValue time.Duration) time.Duration { 34 if source == nil { 35 return defaultValue 36 } 37 38 timeout := *source 39 if timeout <= 0 { 40 return defaultValue 41 } 42 43 return time.Duration(timeout) * time.Second 44 }