Commit 95546dfd authored by Miek Gieben's avatar Miek Gieben Committed by Yong Tang

plugin/kubernetes: smaller map (#2383)

* plugin/kubernetes: smaller map

to continue with a theme: the map[string]bool can be reduced
to map[string]struct{} to reduce a tiny amount of memory.
Signed-off-by: default avatarMiek Gieben <miek@miek.nl>

* fix tests
Signed-off-by: default avatarMiek Gieben <miek@miek.nl>
parent 0f7d95b1
...@@ -348,7 +348,7 @@ func TestServeDNS(t *testing.T) { ...@@ -348,7 +348,7 @@ func TestServeDNS(t *testing.T) {
k := New([]string{"cluster.local."}) k := New([]string{"cluster.local."})
k.APIConn = &APIConnServeTest{} k.APIConn = &APIConnServeTest{}
k.Next = test.NextHandler(dns.RcodeSuccess, nil) k.Next = test.NextHandler(dns.RcodeSuccess, nil)
k.Namespaces = map[string]bool{"testns": true} k.Namespaces = map[string]struct{}{"testns": struct{}{}}
ctx := context.TODO() ctx := context.TODO()
for i, tc := range dnsTestCases { for i, tc := range dnsTestCases {
...@@ -395,7 +395,7 @@ func TestNotSyncedServeDNS(t *testing.T) { ...@@ -395,7 +395,7 @@ func TestNotSyncedServeDNS(t *testing.T) {
notSynced: true, notSynced: true,
} }
k.Next = test.NextHandler(dns.RcodeSuccess, nil) k.Next = test.NextHandler(dns.RcodeSuccess, nil)
k.Namespaces = map[string]bool{"testns": true} k.Namespaces = map[string]struct{}{"testns": struct{}{}}
ctx := context.TODO() ctx := context.TODO()
for i, tc := range notSyncedTestCases { for i, tc := range notSyncedTestCases {
......
...@@ -40,7 +40,7 @@ type Kubernetes struct { ...@@ -40,7 +40,7 @@ type Kubernetes struct {
APIClientKey string APIClientKey string
ClientConfig clientcmd.ClientConfig ClientConfig clientcmd.ClientConfig
APIConn dnsController APIConn dnsController
Namespaces map[string]bool Namespaces map[string]struct{}
podMode string podMode string
endpointNameMode bool endpointNameMode bool
Fall fall.F Fall fall.F
...@@ -58,7 +58,7 @@ type Kubernetes struct { ...@@ -58,7 +58,7 @@ type Kubernetes struct {
func New(zones []string) *Kubernetes { func New(zones []string) *Kubernetes {
k := new(Kubernetes) k := new(Kubernetes)
k.Zones = zones k.Zones = zones
k.Namespaces = make(map[string]bool) k.Namespaces = make(map[string]struct{})
k.interfaceAddrsFunc = func() net.IP { return net.ParseIP("127.0.0.1") } k.interfaceAddrsFunc = func() net.IP { return net.ParseIP("127.0.0.1") }
k.podMode = podModeDisabled k.podMode = podModeDisabled
k.ttl = defaultTTL k.ttl = defaultTTL
......
...@@ -187,7 +187,7 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) { ...@@ -187,7 +187,7 @@ func ParseStanza(c *caddy.Controller) (*Kubernetes, error) {
args := c.RemainingArgs() args := c.RemainingArgs()
if len(args) > 0 { if len(args) > 0 {
for _, a := range args { for _, a := range args {
k8s.Namespaces[a] = true k8s.Namespaces[a] = struct{}{}
} }
continue continue
} }
......
...@@ -16,7 +16,7 @@ func TestKubernetesXFR(t *testing.T) { ...@@ -16,7 +16,7 @@ func TestKubernetesXFR(t *testing.T) {
k := New([]string{"cluster.local."}) k := New([]string{"cluster.local."})
k.APIConn = &APIConnServeTest{} k.APIConn = &APIConnServeTest{}
k.TransferTo = []string{"10.240.0.1:53"} k.TransferTo = []string{"10.240.0.1:53"}
k.Namespaces = map[string]bool{"testns": true} k.Namespaces = map[string]struct{}{"testns": struct{}{}}
ctx := context.TODO() ctx := context.TODO()
w := dnstest.NewMultiRecorder(&test.ResponseWriter{}) w := dnstest.NewMultiRecorder(&test.ResponseWriter{})
...@@ -104,7 +104,7 @@ func TestKubernetesXFRNotAllowed(t *testing.T) { ...@@ -104,7 +104,7 @@ func TestKubernetesXFRNotAllowed(t *testing.T) {
k := New([]string{"cluster.local."}) k := New([]string{"cluster.local."})
k.APIConn = &APIConnServeTest{} k.APIConn = &APIConnServeTest{}
k.TransferTo = []string{"1.2.3.4:53"} k.TransferTo = []string{"1.2.3.4:53"}
k.Namespaces = map[string]bool{"testns": true} k.Namespaces = map[string]struct{}{"testns": struct{}{}}
ctx := context.TODO() ctx := context.TODO()
w := dnstest.NewMultiRecorder(&test.ResponseWriter{}) w := dnstest.NewMultiRecorder(&test.ResponseWriter{})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment