cluster/admitomatic: Regexp-based admission rules
Change-Id: Ic2b1d6a952dc194c0ee2fa1673ceb91c43799308
Reviewed-on: https://gerrit.hackerspace.pl/c/hscloud/+/1723
Reviewed-by: q3k <q3k@hackerspace.pl>
diff --git a/cluster/admitomatic/service.go b/cluster/admitomatic/service.go
index b5f7662..fc0a7d5 100644
--- a/cluster/admitomatic/service.go
+++ b/cluster/admitomatic/service.go
@@ -34,8 +34,14 @@
if ad.Dns == "" {
return nil, fmt.Errorf("config entry %d: dns must be set", i)
}
- if err := s.ingress.allow(ad.Namespace, ad.Dns); err != nil {
- return nil, fmt.Errorf("config entry %d: %v", i, err)
+ if ad.Regexp {
+ if err := s.ingress.allowRegexp(ad.Namespace, ad.Dns); err != nil {
+ return nil, fmt.Errorf("config entry (regexp) %d: %v", i, err)
+ }
+ } else {
+ if err := s.ingress.allow(ad.Namespace, ad.Dns); err != nil {
+ return nil, fmt.Errorf("config entry %d: %v", i, err)
+ }
}
glog.Infof("Ingress: allowing %s in %s", ad.Dns, ad.Namespace)
}