From bac70499961c93d35d25caf4f600312f9db58384 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Fri, 17 Apr 2015 11:25:20 -0700 Subject: [PATCH] command/server: can set advertise addr --- command/server.go | 1 + command/server/config.go | 19 +++++++++++++------ command/server/config_test.go | 3 ++- command/server/test-fixtures/config.hcl | 1 + 4 files changed, 17 insertions(+), 7 deletions(-) diff --git a/command/server.go b/command/server.go index 10c5369a9c..6eca1404fe 100644 --- a/command/server.go +++ b/command/server.go @@ -94,6 +94,7 @@ func (c *ServerCommand) Run(args []string) int { // Initialize the core core, err := vault.NewCore(&vault.CoreConfig{ + AdvertiseAddr: config.Backend.AdvertiseAddr, Physical: backend, AuditBackends: c.AuditBackends, CredentialBackends: c.CredentialBackends, diff --git a/command/server/config.go b/command/server/config.go index 74e9509966..f2ea2bf49a 100644 --- a/command/server/config.go +++ b/command/server/config.go @@ -14,10 +14,11 @@ import ( // Config is the configuration for the vault server. type Config struct { - Listeners []*Listener `hcl:"-"` - Backend *Backend `hcl:"-"` - StatsiteAddr string `hcl:"statsite_addr"` - StatsdAddr string `hcl:"statsd_addr"` + Listeners []*Listener `hcl:"-"` + Backend *Backend `hcl:"-"` + + StatsiteAddr string `hcl:"statsite_addr"` + StatsdAddr string `hcl:"statsd_addr"` } // DevConfig is a Config that is used for dev mode of Vault. @@ -50,8 +51,9 @@ func (l *Listener) GoString() string { // Backend is the backend configuration for the server. type Backend struct { - Type string - Config map[string]string + Type string + AdvertiseAddr string + Config map[string]string } func (b *Backend) GoString() string { @@ -306,6 +308,11 @@ func loadBackend(os *hclobj.Object) (*Backend, error) { err) } + if v, ok := config["advertise_addr"]; ok { + result.AdvertiseAddr = v + delete(config, "advertise_addr") + } + result.Config = config return &result, nil } diff --git a/command/server/config_test.go b/command/server/config_test.go index 7b0de6ca2f..386df7f5b3 100644 --- a/command/server/config_test.go +++ b/command/server/config_test.go @@ -22,7 +22,8 @@ func TestLoadConfigFile(t *testing.T) { }, Backend: &Backend{ - Type: "consul", + Type: "consul", + AdvertiseAddr: "foo", Config: map[string]string{ "foo": "bar", }, diff --git a/command/server/test-fixtures/config.hcl b/command/server/test-fixtures/config.hcl index 781cdf331f..81d82157a6 100644 --- a/command/server/test-fixtures/config.hcl +++ b/command/server/test-fixtures/config.hcl @@ -7,4 +7,5 @@ listener "tcp" { backend "consul" { foo = "bar" + advertise_addr = "foo" }