Compile kubernetes ingress annotation regex only once
This commit is contained in:
parent
5d800ba5fe
commit
63929b0341
1 changed files with 4 additions and 4 deletions
|
@ -13,6 +13,8 @@ const (
|
|||
annotationsPrefix = "traefik.ingress.kubernetes.io/"
|
||||
)
|
||||
|
||||
var annotationsRegex = regexp.MustCompile(`(.+)\.(\w+)\.(\d+)\.(.+)`)
|
||||
|
||||
// RouterConfig is the router's root configuration from annotations.
|
||||
type RouterConfig struct {
|
||||
Router *RouterIng `json:"router,omitempty"`
|
||||
|
@ -86,8 +88,6 @@ func convertAnnotations(annotations map[string]string) map[string]string {
|
|||
return nil
|
||||
}
|
||||
|
||||
exp := regexp.MustCompile(`(.+)\.(\w+)\.(\d+)\.(.+)`)
|
||||
|
||||
result := make(map[string]string)
|
||||
|
||||
for key, value := range annotations {
|
||||
|
@ -97,8 +97,8 @@ func convertAnnotations(annotations map[string]string) map[string]string {
|
|||
|
||||
newKey := strings.ReplaceAll(key, "ingress.kubernetes.io/", "")
|
||||
|
||||
if exp.MatchString(newKey) {
|
||||
newKey = exp.ReplaceAllString(newKey, "$1.$2[$3].$4")
|
||||
if annotationsRegex.MatchString(newKey) {
|
||||
newKey = annotationsRegex.ReplaceAllString(newKey, "$1.$2[$3].$4")
|
||||
}
|
||||
|
||||
result[newKey] = value
|
||||
|
|
Loading…
Reference in a new issue