From d934f693fffb224fc1f8852722a95b8b731c25e6 Mon Sep 17 00:00:00 2001 From: John Chadwick Date: Fri, 1 Jun 2018 09:00:27 -0400 Subject: [PATCH] Fix TXT record planning. --- plan/plan.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/plan/plan.go b/plan/plan.go index 9fafd7329..6fc93b5dd 100644 --- a/plan/plan.go +++ b/plan/plan.go @@ -131,10 +131,10 @@ func (t planTable) getDeletes() (deleteList []*endpoint.Endpoint) { func (p *Plan) Calculate() *Plan { t := newPlanTable() - for _, current := range p.Current { + for _, current := range filterRecordsForPlan(p.Current) { t.addCurrent(current) } - for _, desired := range p.Desired { + for _, desired := range filterRecordsForPlan(p.Desired) { t.addCandidate(desired) } @@ -175,3 +175,18 @@ func shouldUpdateTTL(desired, current *endpoint.Endpoint) bool { } return desired.RecordTTL != current.RecordTTL } + +func filterRecordsForPlan(records []*endpoint.Endpoint) []*endpoint.Endpoint { + filtered := []*endpoint.Endpoint{} + + for _, record := range records { + switch record.RecordType { + case endpoint.RecordTypeA, endpoint.RecordTypeCNAME: + filtered = append(filtered, record) + default: + continue + } + } + + return filtered +}