package kubernetes import ( "net" "strings" "github.com/coredns/coredns/plugin/kubernetes/object" "github.com/miekg/dns" api "k8s.io/api/core/v1" ) func isDefaultNS(name, zone string) bool { return strings.Index(name, defaultNSName) == 0 && strings.Index(name, zone) == len(defaultNSName) } // nsAddrs returns the A or AAAA records for the CoreDNS service in the cluster. If the service cannot be found, // it returns a record for the local address of the machine we're running on. func (k *Kubernetes) nsAddrs(external bool, zone string) []dns.RR { var ( svcNames []string svcIPs []net.IP ) // Find the CoreDNS Endpoints for _, localIP := range k.localIPs { endpoints := k.APIConn.EpIndexReverse(localIP.String()) // Collect IPs for all Services of the Endpoints for _, endpoint := range endpoints { svcs := k.APIConn.SvcIndex(object.ServiceKey(endpoint.Name, endpoint.Namespace)) for _, svc := range svcs { if external { svcName := strings.Join([]string{svc.Name, svc.Namespace, zone}, ".") for _, exIP := range svc.ExternalIPs { svcNames = append(svcNames, svcName) svcIPs = append(svcIPs, net.ParseIP(exIP)) } continue } svcName := strings.Join([]string{svc.Name, svc.Namespace, Svc, zone}, ".") if svc.ClusterIP == api.ClusterIPNone { // For a headless service, use the endpoints IPs for _, s := range endpoint.Subsets { for _, a := range s.Addresses { svcNames = append(svcNames, endpointHostname(a, k.endpointNameMode)+"."+svcName) svcIPs = append(svcIPs, net.ParseIP(a.IP)) } } } else { svcNames = append(svcNames, svcName) svcIPs = append(svcIPs, net.ParseIP(svc.ClusterIP)) } } } } // If no local IPs matched any endpoints, use the localIPs directly if len(svcIPs) == 0 { svcIPs = make([]net.IP, len(k.localIPs)) svcNames = make([]string, len(k.localIPs)) for i, localIP := range k.localIPs { svcNames[i] = defaultNSName + zone svcIPs[i] = localIP } } // Create an RR slice of collected IPs rrs := make([]dns.RR, len(svcIPs)) for i, ip := range svcIPs { if ip.To4() == nil { rr := new(dns.AAAA) rr.Hdr.Class = dns.ClassINET rr.Hdr.Rrtype = dns.TypeAAAA rr.Hdr.Name = svcNames[i] rr.AAAA = ip rrs[i] = rr continue } rr := new(dns.A) rr.Hdr.Class = dns.ClassINET rr.Hdr.Rrtype = dns.TypeA rr.Hdr.Name = svcNames[i] rr.A = ip rrs[i] = rr } return rrs } const defaultNSName = "ns.dns." ption value='dave/import.meta.resolve'>dave/import.meta.resolve Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/mmap.test.js (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-04-05Add update messageGravatar Jarred Sumner 1-0/+13
2022-04-05cmake does not like emit-llvmGravatar Jarred Sumner 1-2/+2
2022-04-05Update MakefileGravatar Jarred Sumner 1-1/+1
2022-04-05tweak some flagsGravatar Jarred Sumner 5-28/+41
2022-04-05Fix stat() on x64Gravatar Jarred Sumner 2-10/+32
2022-04-05fix binary size regression on linuxGravatar Jarred Sumner 2-2/+4
2022-04-05docs: fix wrong #bun-create reference in readme (#136)Gravatar Zakiego 1-1/+1
2022-04-05Update response.zigGravatar Jarred Sumner 1-1/+0
2022-04-05Update response.zigGravatar Jarred Sumner 1-6/+12
2022-04-05Update MakefileGravatar Jarred Sumner 1-1/+1
2022-04-05Update http-file.tsGravatar Jarred Sumner 1-1/+0
2022-04-05Fix linking bug?Gravatar Jarred SUmner 3-4/+4
2022-04-04fix bug with io sometimes sleeping permanetlyGravatar Jarred SUmner 16-69/+218
2022-04-04Update MakefileGravatar Jarred Sumner 1-1/+1
2022-04-04ughhGravatar Jarred Sumner 1-1/+2
2022-04-04Update syscall.zigGravatar Jarred Sumner 1-4/+4
2022-04-04Update syscall.zigGravatar Jarred Sumner 1-5/+1
2022-04-04hmGravatar Jarred Sumner 2-2/+2
2022-04-04Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1
2022-04-04fixupGravatar Jarred Sumner 4-2/+24
2022-04-04Update MakefileGravatar Jarred Sumner 1-0/+2
2022-04-04Update MakefileGravatar Jarred Sumner 1-1/+2
2022-04-04Update MakefileGravatar Jarred Sumner 1-2/+2
2022-04-04Update MakefileGravatar Jarred Sumner 1-0/+5
2022-04-04Update MakefileGravatar Jarred Sumner 1-1/+2
2022-04-04Remove unused functionGravatar Jarred Sumner 3-44/+0
2022-04-04Update DockerfileGravatar Jarred Sumner 1-0/+2
2022-04-04Add zlib for uwsGravatar Jarred Sumner 2-1/+2
2022-04-04Update DockerfileGravatar Jarred Sumner 1-0/+2
2022-04-04Update MakefileGravatar Jarred Sumner 1-4/+2
2022-04-04Update DockerfileGravatar Jarred Sumner 1-0/+2
2022-04-04Fix missingGravatar Jarred Sumner 4-9/+16
2022-04-04Update response.zigGravatar Jarred Sumner 1-1/+1
2022-04-04Update DockerfileGravatar Jarred Sumner 1-1/+17
2022-04-04Update tsconfig.jsonGravatar Jarred Sumner 1-0/+2
2022-04-04Update launch.jsonGravatar Jarred Sumner 1-0/+12
2022-04-04Update http-file.tsGravatar Jarred Sumner 1-3/+3
2022-04-04fix httpsGravatar Jarred Sumner 4-40/+109
2022-04-04Update bun.d.tsGravatar Jarred Sumner 1-5/+14
2022-04-04Fix error in bun:errorGravatar Jarred Sumner 1-1/+1
2022-04-04Add a couple more testsGravatar Jarred Sumner 1-0/+27
2022-04-04Make `Bun.file()` -> HTMLRewriter -> HTTP response workGravatar Jarred Sumner 5-72/+222
2022-04-04[bun] Don't allow `Transfer-Encoding` headerGravatar Jarred Sumner 1-0/+2
2022-04-04[bun.js] Improve error message for HTTP serverGravatar Jarred Sumner 1-4/+4
2022-04-04[bun.js] Support truncating file length up to u52Gravatar Jarred Sumner 1-7/+7