in watcher/handlerEndpoint.go [40:66]
func (e *EpHandler) add(obj interface{}) {
eps, ok := obj.(*v1.Endpoints)
if !ok {
log.Println("In Endpoint Add; cannot cast to *v1.Endpoints.")
return
}
podSvcName := eps.GetObjectMeta().GetName()
namespace := eps.GetNamespace()
if !e.Ep.NsManager.IncludeNamespace(namespace) {
log.Println("Namespace not included")
return
}
for _, subset := range eps.Subsets {
for _, port := range subset.Ports {
portnum := fmt.Sprint(port.Port)
portname := port.Name
key := util.ConstructSvcPortString(namespace, podSvcName, portnum)
for _, addr := range subset.Addresses {
v := util.ConstructIPPortString(addr.IP, portnum, portname)
e.Ep.RedisClient.DefaultDBSAdd(key, v)
}
}
}
}