mirror of
https://github.com/containrrr/watchtower.git
synced 2025-12-14 06:06:38 +01:00
fix(lifecycle): cleanup lifecycle
- removes unwieldy SkipUpdate return value in favor of errors.Is - generalizes the code for all four phases - allows timeout to be defined for all phases - enables explicit unit in timeout label values (in addition to implicit minutes)
This commit is contained in:
parent
76f9cea516
commit
023c1a7d93
10 changed files with 160 additions and 179 deletions
15
internal/util/time.go
Normal file
15
internal/util/time.go
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
package util
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
"time"
|
||||
)
|
||||
|
||||
// ParseDuration parses the input string as a duration, treating a plain number as implicitly using the specified unit
|
||||
func ParseDuration(input string, unitlessUnit time.Duration) (time.Duration, error) {
|
||||
if unitless, err := strconv.Atoi(input); err == nil {
|
||||
return unitlessUnit * time.Duration(unitless), nil
|
||||
}
|
||||
|
||||
return time.ParseDuration(input)
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue