Move to yaml-based configuration
This commit updates the configuration to be yaml-based and updates the configuration to read in a yaml file.
This commit is contained in:
parent
568c005d15
commit
945329a080
70 changed files with 1150 additions and 350 deletions
32
internal/config/validators/int.go
Normal file
32
internal/config/validators/int.go
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
package validators
|
||||
|
||||
import (
|
||||
"strconv"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func ValidatePositive(value *int, dflt string) (err error) {
|
||||
if *value == 0 && dflt != "" {
|
||||
v, err := strconv.ParseInt(dflt, 10, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*value = int(v)
|
||||
}
|
||||
if *value <= 0 {
|
||||
return errors.Errorf("%d is not a positive value", *value)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func ValidatePort(value *uint16, dflt string) (err error) {
|
||||
if *value == 0 && dflt != "" {
|
||||
v, err := strconv.ParseUint(dflt, 10, 16)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
*value = uint16(v)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue