From 9fe07e0986c27c0d261d85d3e56e7274fac51504 Mon Sep 17 00:00:00 2001 From: Julien Ammous Date: Wed, 22 Jan 2014 19:35:42 +0100 Subject: [PATCH 1/3] allow configuring bind address --- config.toml.sample | 2 ++ src/configuration/configuration.go | 9 ++++++--- src/coordinator/raft_server.go | 4 +++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/config.toml.sample b/config.toml.sample index 4335373e25f..f62a2e8fd94 100644 --- a/config.toml.sample +++ b/config.toml.sample @@ -5,6 +5,8 @@ # that can be resovled here. # hostname = "" +# bind_address = "127.0.0.1" + [logging] # logging level can be one of "debug", "info", "warn" or "error" level = "info" diff --git a/src/configuration/configuration.go b/src/configuration/configuration.go index afd35994acc..077d5119aaf 100644 --- a/src/configuration/configuration.go +++ b/src/configuration/configuration.go @@ -45,6 +45,7 @@ type TomlConfiguration struct { Cluster ClusterConfig Logging LoggingConfig Hostname string + BindAddress string } type Configuration struct { @@ -59,6 +60,7 @@ type Configuration struct { Hostname string LogFile string LogLevel string + BindAddress string } func LoadConfiguration(fileName string) *Configuration { @@ -93,6 +95,7 @@ func parseTomlConfiguration(filename string) (*Configuration, error) { LogFile: tomlConfiguration.Logging.File, LogLevel: tomlConfiguration.Logging.Level, Hostname: tomlConfiguration.Hostname, + BindAddress: tomlConfiguration.BindAddress, } return config, nil @@ -117,15 +120,15 @@ func parseJsonConfiguration(fileName string) (*Configuration, error) { } func (self *Configuration) AdminHttpPortString() string { - return fmt.Sprintf(":%d", self.AdminHttpPort) + return fmt.Sprintf("%s:%d", self.BindAddress, self.AdminHttpPort) } func (self *Configuration) ApiHttpPortString() string { - return fmt.Sprintf(":%d", self.ApiHttpPort) + return fmt.Sprintf("%s:%d", self.BindAddress, self.ApiHttpPort) } func (self *Configuration) ProtobufPortString() string { - return fmt.Sprintf(":%d", self.ProtobufPort) + return fmt.Sprintf("%s:%d", self.BindAddress, self.ProtobufPort) } func (self *Configuration) HostnameOrDetect() string { diff --git a/src/coordinator/raft_server.go b/src/coordinator/raft_server.go index ff5a4b3965c..85fdc40309f 100644 --- a/src/coordinator/raft_server.go +++ b/src/coordinator/raft_server.go @@ -35,6 +35,7 @@ type RaftServer struct { host string port int path string + bind_address string router *mux.Router raftServer raft.Server httpServer *http.Server @@ -69,6 +70,7 @@ func NewRaftServer(config *configuration.Configuration, clusterConfig *ClusterCo host: config.HostnameOrDetect(), port: config.RaftServerPort, path: config.RaftDir, + bind_address: config.BindAddress, clusterConfig: clusterConfig, notLeader: make(chan bool, 1), router: mux.NewRouter(), @@ -449,7 +451,7 @@ func (s *RaftServer) runContinuousQuery(db string, query *parser.SelectQuery, st } func (s *RaftServer) ListenAndServe() error { - l, err := net.Listen("tcp", fmt.Sprintf(":%d", s.port)) + l, err := net.Listen("tcp", fmt.Sprintf("%s:%d", s.bind_address, s.port)) if err != nil { panic(err) } From d8398d73e4d3a2ebd9ceac2869da4f39ef16f137 Mon Sep 17 00:00:00 2001 From: Julien Ammous Date: Wed, 22 Jan 2014 20:37:50 +0100 Subject: [PATCH 2/3] fixed bind-address config parsing --- src/configuration/configuration.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/configuration/configuration.go b/src/configuration/configuration.go index 077d5119aaf..b1039142a83 100644 --- a/src/configuration/configuration.go +++ b/src/configuration/configuration.go @@ -45,7 +45,7 @@ type TomlConfiguration struct { Cluster ClusterConfig Logging LoggingConfig Hostname string - BindAddress string + BindAddress string `toml:"bind-address"` } type Configuration struct { From b57eb9f09bc1fcfe59344ed6a6aa62d78ccf5cc5 Mon Sep 17 00:00:00 2001 From: Julien Ammous Date: Wed, 22 Jan 2014 20:38:11 +0100 Subject: [PATCH 3/3] show what the server is bound to on start --- src/daemon/influxd.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/daemon/influxd.go b/src/daemon/influxd.go index c83bbc85104..2e9538ec4b0 100644 --- a/src/daemon/influxd.go +++ b/src/daemon/influxd.go @@ -130,8 +130,12 @@ func main() { panic(err) } } - - log.Info("Starting Influx Server...") + + if config.BindAddress == "" { + log.Info("Starting Influx Server...") + } else { + log.Info("Starting Influx Server bound to %s ...", config.BindAddress) + } log.Info(` +---------------------------------------------+ | _____ __ _ _____ ____ |