netmaker/controllers/regex.go
Matthew R Kasun 78640f1342
Extclient NET-63x (#2286)
* model changes

* additional fields for extclient create

* add DNS to extclient config

* extclient name checks

* update extclient

* nmctl extclient

* final tweaks

* review comments

* add extclientdns to node on ingress creation

* fix to add ingress dns to api (#2296)

---------

Co-authored-by: Aceix <aceixsmartX@gmail.com>
2023-05-17 10:58:03 -04:00

29 lines
712 B
Go

package controller
import (
"errors"
"regexp"
)
var (
errInvalidExtClientPubKey = errors.New("incorrect ext client public key")
errInvalidExtClientID = errors.New("ext client ID must be alphanumderic and/or dashes and less that 15 chars")
errInvalidExtClientExtraIP = errors.New("ext client extra ip must be a valid cidr")
errInvalidExtClientDNS = errors.New("ext client dns must be a valid ip address")
)
// allow only dashes and alphaneumeric for ext client and node names
func validName(name string) bool {
reg, err := regexp.Compile("^[a-zA-Z0-9-]+$")
if err != nil {
return false
}
if !reg.MatchString(name) {
return false
}
if len(name) > 15 {
return false
}
return true
}