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)