From 4417ad48947f6f77b341cc00b340e93857465282 Mon Sep 17 00:00:00 2001 From: John Gardiner Myers Date: Sun, 28 May 2023 10:42:30 -0700 Subject: [PATCH] Move EndpointKey to endpoints package --- endpoint/endpoint.go | 6 ++++++ source/node.go | 10 +++++----- source/pod.go | 12 ++++++------ source/service.go | 20 ++++++++++---------- source/source.go | 6 ------ 5 files changed, 27 insertions(+), 27 deletions(-) diff --git a/endpoint/endpoint.go b/endpoint/endpoint.go index e1ed83c5b4..c49f2b7b00 100644 --- a/endpoint/endpoint.go +++ b/endpoint/endpoint.go @@ -162,6 +162,12 @@ type ProviderSpecificProperty struct { // ProviderSpecific holds configuration which is specific to individual DNS providers type ProviderSpecific []ProviderSpecificProperty +// EndpointKey is the type of a map key for separating endpoints or targets. +type EndpointKey struct { + DNSName string + RecordType string +} + // Endpoint is a high-level way of a connection between a service and an IP type Endpoint struct { // The hostname of the DNS record diff --git a/source/node.go b/source/node.go index 63af289f8d..223ec2982d 100644 --- a/source/node.go +++ b/source/node.go @@ -88,7 +88,7 @@ func (ns *nodeSource) Endpoints(ctx context.Context) ([]*endpoint.Endpoint, erro return nil, err } - endpoints := map[endpointKey]*endpoint.Endpoint{} + endpoints := map[endpoint.EndpointKey]*endpoint.Endpoint{} // create endpoints for all nodes for _, node := range nodes { @@ -136,13 +136,13 @@ func (ns *nodeSource) Endpoints(ctx context.Context) ([]*endpoint.Endpoint, erro ep.Labels = endpoint.NewLabels() for _, addr := range addrs { log.Debugf("adding endpoint %s target %s", ep, addr) - key := endpointKey{ - dnsName: ep.DNSName, - recordType: suitableType(addr), + key := endpoint.EndpointKey{ + DNSName: ep.DNSName, + RecordType: suitableType(addr), } if _, ok := endpoints[key]; !ok { epCopy := *ep - epCopy.RecordType = key.recordType + epCopy.RecordType = key.RecordType endpoints[key] = &epCopy } endpoints[key].Targets = append(endpoints[key].Targets, addr) diff --git a/source/pod.go b/source/pod.go index e399a8906a..2441d28908 100644 --- a/source/pod.go +++ b/source/pod.go @@ -82,7 +82,7 @@ func (ps *podSource) Endpoints(ctx context.Context) ([]*endpoint.Endpoint, error return nil, err } - endpointMap := make(map[endpointKey][]string) + endpointMap := make(map[endpoint.EndpointKey][]string) for _, pod := range pods { if !pod.Spec.HostNetwork { log.Debugf("skipping pod %s. hostNetwork=false", pod.Name) @@ -135,15 +135,15 @@ func (ps *podSource) Endpoints(ctx context.Context) ([]*endpoint.Endpoint, error } endpoints := []*endpoint.Endpoint{} for key, targets := range endpointMap { - endpoints = append(endpoints, endpoint.NewEndpoint(key.dnsName, key.recordType, targets...)) + endpoints = append(endpoints, endpoint.NewEndpoint(key.DNSName, key.RecordType, targets...)) } return endpoints, nil } -func addToEndpointMap(endpointMap map[endpointKey][]string, domain string, recordType string, address string) { - key := endpointKey{ - dnsName: domain, - recordType: recordType, +func addToEndpointMap(endpointMap map[endpoint.EndpointKey][]string, domain string, recordType string, address string) { + key := endpoint.EndpointKey{ + DNSName: domain, + RecordType: recordType, } if _, ok := endpointMap[key]; !ok { endpointMap[key] = []string{} diff --git a/source/service.go b/source/service.go index 8454308314..de147758dc 100644 --- a/source/service.go +++ b/source/service.go @@ -271,7 +271,7 @@ func (sc *serviceSource) extractHeadlessEndpoints(svc *v1.Service, hostname stri endpointsType := getEndpointsTypeFromAnnotations(svc.Annotations) - targetsByHeadlessDomainAndType := make(map[endpointKey]endpoint.Targets) + targetsByHeadlessDomainAndType := make(map[endpoint.EndpointKey]endpoint.Targets) for _, subset := range endpointsObject.Subsets { addresses := subset.Addresses if svc.Spec.PublishNotReadyAddresses || sc.alwaysPublishNotReadyAddresses { @@ -325,9 +325,9 @@ func (sc *serviceSource) extractHeadlessEndpoints(svc *v1.Service, hostname stri } } for _, target := range targets { - key := endpointKey{ - dnsName: headlessDomain, - recordType: suitableType(target), + key := endpoint.EndpointKey{ + DNSName: headlessDomain, + RecordType: suitableType(target), } targetsByHeadlessDomainAndType[key] = append(targetsByHeadlessDomainAndType[key], target) } @@ -335,15 +335,15 @@ func (sc *serviceSource) extractHeadlessEndpoints(svc *v1.Service, hostname stri } } - headlessKeys := []endpointKey{} + headlessKeys := []endpoint.EndpointKey{} for headlessKey := range targetsByHeadlessDomainAndType { headlessKeys = append(headlessKeys, headlessKey) } sort.Slice(headlessKeys, func(i, j int) bool { - if headlessKeys[i].dnsName != headlessKeys[j].dnsName { - return headlessKeys[i].dnsName < headlessKeys[j].dnsName + if headlessKeys[i].DNSName != headlessKeys[j].DNSName { + return headlessKeys[i].DNSName < headlessKeys[j].DNSName } - return headlessKeys[i].recordType < headlessKeys[j].recordType + return headlessKeys[i].RecordType < headlessKeys[j].RecordType }) for _, headlessKey := range headlessKeys { allTargets := targetsByHeadlessDomainAndType[headlessKey] @@ -361,9 +361,9 @@ func (sc *serviceSource) extractHeadlessEndpoints(svc *v1.Service, hostname stri } if ttl.IsConfigured() { - endpoints = append(endpoints, endpoint.NewEndpointWithTTL(headlessKey.dnsName, headlessKey.recordType, ttl, targets...)) + endpoints = append(endpoints, endpoint.NewEndpointWithTTL(headlessKey.DNSName, headlessKey.RecordType, ttl, targets...)) } else { - endpoints = append(endpoints, endpoint.NewEndpoint(headlessKey.dnsName, headlessKey.recordType, targets...)) + endpoints = append(endpoints, endpoint.NewEndpoint(headlessKey.DNSName, headlessKey.RecordType, targets...)) } } diff --git a/source/source.go b/source/source.go index 5e3cdcf780..bf64fa1852 100644 --- a/source/source.go +++ b/source/source.go @@ -86,12 +86,6 @@ type Source interface { AddEventHandler(context.Context, func()) } -// endpointKey is the type of a map key for separating endpoints or targets. -type endpointKey struct { - dnsName string - recordType string -} - func getTTLFromAnnotations(annotations map[string]string) (endpoint.TTL, error) { ttlNotConfigured := endpoint.TTL(0) ttlAnnotation, exists := annotations[ttlAnnotationKey]