mirror of
https://github.com/coredns/coredns.git
synced 2025-11-06 12:06:37 -05:00
16
plugin/traffic/grpc_lb.go
Normal file
16
plugin/traffic/grpc_lb.go
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
package traffic
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/miekg/dns"
|
||||||
|
)
|
||||||
|
|
||||||
|
// See https://github.com/grpc/grpc/blob/master/doc/service_config.md for the fields in this proto.
|
||||||
|
// We encode it as json and return it in a TXT field.
|
||||||
|
var lbTXT = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"eds_experimental":{"LrsLoadReportingServerName":"","Cluster": "xds"}}]}}]`
|
||||||
|
|
||||||
|
func txt(z string) []dns.RR {
|
||||||
|
return []dns.RR{&dns.TXT{
|
||||||
|
Hdr: dns.RR_Header{Name: z, Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 5},
|
||||||
|
Txt: []string{lbTXT},
|
||||||
|
}}
|
||||||
|
}
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package traffic
|
|
||||||
|
|
||||||
import "github.com/miekg/dns"
|
|
||||||
|
|
||||||
// See https://github.com/grpc/grpc/blob/master/doc/service_config.md for the fields in this proto.
|
|
||||||
// We encode it as json and return it in a TXT field.
|
|
||||||
var lbTXTxds = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"xds_experimental":{"lrs_load_reporting_server_name":""}}]}}]`
|
|
||||||
|
|
||||||
// Current impl. that will be removed in favor of xds
|
|
||||||
var lbTXTgrpc = `grpc_config=[{"serviceConfig":{"loadBalancingConfig":[{"grpclb":{}}]}}]`
|
|
||||||
|
|
||||||
func txt(z string) []dns.RR {
|
|
||||||
return []dns.RR{&dns.TXT{
|
|
||||||
Hdr: dns.RR_Header{Name: z, Rrtype: dns.TypeTXT, Class: dns.ClassINET, Ttl: 5},
|
|
||||||
Txt: []string{lbTXTgrpc},
|
|
||||||
}}
|
|
||||||
}
|
|
||||||
@@ -15,7 +15,7 @@ func TestSetup(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestLBTxt(t *testing.T) {
|
func TestLBTxt(t *testing.T) {
|
||||||
for _, txt := range []string{lbTXTxds, lbTXTgrpc} {
|
for _, txt := range []string{lbTXT} {
|
||||||
if _, err := json.Marshal(txt); err != nil {
|
if _, err := json.Marshal(txt); err != nil {
|
||||||
t.Errorf("Failed to marshal grpc serverConfig: %s", err)
|
t.Errorf("Failed to marshal grpc serverConfig: %s", err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user