diff options
Diffstat (limited to 'test/security/sslendpoints/ports/ports.go')
-rw-r--r-- | test/security/sslendpoints/ports/ports.go | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/security/sslendpoints/ports/ports.go b/test/security/sslendpoints/ports/ports.go index 823e07531..a80fb782c 100644 --- a/test/security/sslendpoints/ports/ports.go +++ b/test/security/sslendpoints/ports/ports.go @@ -16,3 +16,20 @@ func FilterNodePorts(services *v1.ServiceList) (map[uint16]string, bool) { } return nodeports, len(nodeports) > 0 } + +// FilterIPAddresses extracts IP addresses from NodeList. +// External IP addresses take precedence over internal ones. +func FilterIPAddresses(nodes *v1.NodeList) ([]string, bool) { + addresses := make([]string, 0) + for _, node := range nodes.Items { + for _, address := range node.Status.Addresses { + switch address.Type { + case "InternalIP": + addresses = append(addresses, address.Address) + case "ExternalIP": + addresses = append([]string{address.Address}, addresses...) + } + } + } + return addresses, len(addresses) > 0 +} |