in internal/conf/config.go [171:209]
func validateConfig(c Config) (err error) {
// server
if *c.Server.HttpPort <= 0 || *c.Server.HttpPort > 65535 {
return errors.New(InvalidHttpPortErrMsg)
}
if !*c.Server.DisableSSRFToken {
if len(*c.Server.SSRFHeaders) == 0 {
return errors.New(EmptySSRFHeadersErrMsg)
}
if len(*c.Server.SSRFEnvVariables) == 0 {
return errors.New(EmptySSRFEnvVariablesErrMsg)
}
}
if !strings.HasPrefix(*c.Server.PathPrefix, "/") {
return errors.New(InvalidPathPrefixErrMsg)
}
if *c.Server.MaxConn <= 0 || *c.Server.MaxConn > 1000 {
return errors.New(InvalidMaxConnectionErrMsg)
}
if model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForAliyunKMS &&
model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForAWSSecretManager &&
model.ResponseType(*c.Server.ResponseType) != model.ResponseTypeForVaultKvSecret {
return errors.New(InvalidResponseType)
}
// cache
if *c.Cache.TtlSeconds < 0 {
return errors.New(InvalidTtlSecondsErrMsg)
}
if *c.Cache.CacheSize < 0 || *c.Cache.CacheSize > 1000 {
return errors.New(InvalidCacheSizeErrMsg)
}
return nil
}