ns-controller: manage txt records
diff --git a/core/ns-controller/main.go b/core/ns-controller/main.go
index 36529a8..8987127 100644
--- a/core/ns-controller/main.go
+++ b/core/ns-controller/main.go
@@ -30,6 +30,7 @@
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/healthz"
"sigs.k8s.io/controller-runtime/pkg/log/zap"
+ "sigs.k8s.io/controller-runtime/pkg/metrics/server"
dodocloudv1 "github.com/giolekva/pcloud/core/ns-controller/api/v1"
"github.com/giolekva/pcloud/core/ns-controller/controllers"
@@ -55,12 +56,14 @@
var enableLeaderElection bool
var probeAddr string
var configDir string
+ var apiPort int
flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.")
flag.StringVar(&probeAddr, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
flag.BoolVar(&enableLeaderElection, "leader-elect", false,
"Enable leader election for controller manager. "+
"Enabling this will ensure there is only one active controller manager.")
flag.StringVar(&configDir, "config-dir", "/etc/pcloud/dns-zone-configs", "Path to the DNS configurations directory")
+ flag.IntVar(&apiPort, "api-port", 8082, "Port to listen for API requests")
opts := zap.Options{
Development: true,
}
@@ -70,9 +73,11 @@
ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts)))
mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{
- Scheme: scheme,
- MetricsBindAddress: metricsAddr,
- Port: 9443,
+ Scheme: scheme,
+ Metrics: server.Options{
+ BindAddress: metricsAddr,
+ },
+ // Port: 9443,
HealthProbeBindAddress: probeAddr,
LeaderElection: enableLeaderElection,
LeaderElectionID: "c1db6143.dodo.cloud",
@@ -102,6 +107,8 @@
setupLog.Error(err, "unable to create zone store")
os.Exit(1)
}
+ s := NewServer(apiPort, store)
+ go s.Start()
if err = (&controllers.DNSZoneReconciler{
Client: mgr.GetClient(),
Scheme: mgr.GetScheme(),