Several changes:

- Rename ExcludeSuffix to ExcludedServiceSuffixes
- Rename ServiceSuffix to HostnameSuffix
- Rename HealthAPI to TargetPath
- Add ExcludedServices
This commit is contained in:
TwinProduction
2020-11-11 16:29:30 -05:00
parent a658100da4
commit 3a0a8db898
5 changed files with 99 additions and 60 deletions

View File

@ -19,13 +19,27 @@ func DiscoverServices(kubernetesConfig *Config) ([]*core.Service, error) {
if err != nil {
return nil, err
}
for _, s := range kubernetesServices {
if isExcluded(kubernetesConfig.ExcludeSuffix, s.Name) {
continue
skipExcluded:
for _, service := range kubernetesServices {
for _, excludedServiceSuffix := range kubernetesConfig.ExcludedServiceSuffixes {
if strings.HasSuffix(service.Name, excludedServiceSuffix) {
continue skipExcluded
}
}
for _, excludedService := range ns.ExcludedServices {
if service.Name == excludedService {
continue skipExcluded
}
}
var url string
if strings.HasPrefix(ns.TargetPath, "/") {
url = fmt.Sprintf("http://%s%s%s", service.Name, ns.HostnameSuffix, ns.TargetPath)
} else {
url = fmt.Sprintf("http://%s%s/%s", service.Name, ns.HostnameSuffix, ns.TargetPath)
}
services = append(services, &core.Service{
Name: s.Name,
URL: fmt.Sprintf("http://%s%s/%s", s.Name, ns.ServiceSuffix, ns.HealthAPI),
Name: service.Name,
URL: url,
Interval: kubernetesConfig.ServiceTemplate.Interval,
Conditions: kubernetesConfig.ServiceTemplate.Conditions,
})
@ -33,13 +47,3 @@ func DiscoverServices(kubernetesConfig *Config) ([]*core.Service, error) {
}
return services, nil
}
// TODO: don't uselessly allocate new things here, just move this inside the DiscoverServices function
func isExcluded(excludeList []string, name string) bool {
for _, x := range excludeList {
if strings.HasSuffix(name, x) {
return true
}
}
return false
}