ns-controller: manage txt records
diff --git a/core/ns-controller/controllers/dnszone_controller.go b/core/ns-controller/controllers/dnszone_controller.go
index 40883ef..8b32ecf 100644
--- a/core/ns-controller/controllers/dnszone_controller.go
+++ b/core/ns-controller/controllers/dnszone_controller.go
@@ -22,6 +22,7 @@
 	"time"
 
 	corev1 "k8s.io/api/core/v1"
+	apierrors "k8s.io/apimachinery/pkg/api/errors"
 	"k8s.io/apimachinery/pkg/runtime"
 	ctrl "sigs.k8s.io/controller-runtime"
 	"sigs.k8s.io/controller-runtime/pkg/client"
@@ -71,7 +72,11 @@
 		Namespace: req.Namespace,
 		Name:      req.Name,
 	}, resource); err != nil {
-		return ctrl.Result{RequeueAfter: time.Minute}, err
+		if apierrors.IsGone(err) {
+			fmt.Printf("GONE %s %s\n", req.Name, req.Namespace)
+		} else {
+			return ctrl.Result{RequeueAfter: time.Minute}, err
+		}
 	}
 	if resource.Status.Ready {
 		return ctrl.Result{}, nil
@@ -113,10 +118,13 @@
 			DS:       ds,
 		}
 	}
-	_, err := r.Store.Create(zoneConfig)
+	zs, err := r.Store.Create(zoneConfig)
 	if err != nil {
 		return ctrl.Result{RequeueAfter: time.Minute}, err
 	}
+	if err := zs.CreateConfigFile(); err != nil {
+		return ctrl.Result{RequeueAfter: time.Minute}, err
+	}
 	resource.Status.Ready = true
 	if zoneConfig.DNSSec != nil {
 		resource.Status.RecordsToPublish = string(zoneConfig.DNSSec.DS)