diff --git a/cmd/nodecfg/apply.go b/cmd/nodecfg/apply.go index 7d4f0ab461..689476537c 100644 --- a/cmd/nodecfg/apply.go +++ b/cmd/nodecfg/apply.go @@ -34,6 +34,7 @@ var applyRootDir string var applyRootNodeDir string var applyPublicAddress string var nodeConfigBucket string +var disableDNS bool func init() { applyCmd.Flags().StringVarP(&applyChannel, "channel", "c", "", "Channel for the nodes we are configuring") @@ -49,6 +50,8 @@ func init() { applyCmd.Flags().StringVarP(&applyPublicAddress, "publicaddress", "a", "", "The public address to use if registering Relay or for Metrics") applyCmd.Flags().StringVarP(&nodeConfigBucket, "bucket", "b", "", "S3 bucket to get node configuration from.") + + applyCmd.Flags().BoolVarP(&disableDNS, "disable-dns", "N", false, "disable setting DNS entries") } var applyCmd = &cobra.Command{ @@ -122,7 +125,7 @@ func doApply(rootDir string, rootNodeDir, channel string, hostName string, dnsNa return fmt.Errorf("configuration does not include this host: %s", hostName) } - if hostNeedsDNSName(hostCfg) && dnsName == "" { + if hostNeedsDNSName(hostCfg) && dnsName == "" && !disableDNS { return fmt.Errorf("publicaddress is required - Host contains Relays or exposes Metrics") } diff --git a/netdeploy/remote/nodecfg/nodeConfigurator.go b/netdeploy/remote/nodecfg/nodeConfigurator.go index c69c29fc24..4621373b25 100644 --- a/netdeploy/remote/nodecfg/nodeConfigurator.go +++ b/netdeploy/remote/nodecfg/nodeConfigurator.go @@ -87,7 +87,7 @@ func (nc *nodeConfigurator) apply(rootConfigDir, rootNodeDir string) (err error) for _, nodeDir := range nodeDirs { nodeDir.delaySave = true - err = nodeDir.configure(nc.dnsName) + err = nodeDir.configure() if err != nil { break } @@ -96,7 +96,7 @@ func (nc *nodeConfigurator) apply(rootConfigDir, rootNodeDir string) (err error) nodeDir.saveConfig() } - if err == nil { + if err == nil && nc.dnsName != "" { fmt.Fprint(os.Stdout, "... registering DNS / SRV records\n") err = nc.registerDNSRecords() } diff --git a/netdeploy/remote/nodecfg/nodeDir.go b/netdeploy/remote/nodecfg/nodeDir.go index c6d2b6ab8e..59f2eba509 100644 --- a/netdeploy/remote/nodecfg/nodeDir.go +++ b/netdeploy/remote/nodecfg/nodeDir.go @@ -52,7 +52,7 @@ type nodeDir struct { // * EnableBlockStats // * DashboardEndpoint // * DeadlockOverride -func (nd *nodeDir) configure(dnsName string) (err error) { +func (nd *nodeDir) configure() (err error) { fmt.Fprintf(os.Stdout, "Configuring Node %s\n", nd.Name) if err = nd.configureRelay(nd.IsRelay()); err != nil { fmt.Fprintf(os.Stdout, "Error during configureRelay: %s\n", err)