feat(NSC): add endpoint statuses to internal struct

Add isReady, isServing, and isTerminating to internal EndpointSlice
struct so that downstream consumers have more information about the
service to make decisions later on.
This commit is contained in:
Aaron U'Ren 2024-03-01 10:44:42 -06:00 committed by Aaron U'Ren
parent 16daa08c7b
commit 959022fdca

View File

@ -219,6 +219,9 @@ type endpointSliceInfo struct {
isLocal bool
isIPv4 bool
isIPv6 bool
isReady bool
isServing bool
isTerminating bool
}
// map of all endpoints, with unique service id(namespace name, service name, port) as key
@ -1110,6 +1113,9 @@ func (nsc *NetworkServicesController) buildEndpointSliceInfo() endpointSliceInfo
isLocal: isLocal,
isIPv4: isIPv4,
isIPv6: isIPv6,
isReady: ep.Conditions.Ready != nil && *ep.Conditions.Ready,
isServing: ep.Conditions.Serving != nil && *ep.Conditions.Serving,
isTerminating: ep.Conditions.Terminating != nil && *ep.Conditions.Terminating,
})
}
endpointsMap[svcID] = shuffle(endpoints)