mirror of https://github.com/hashicorp/consul
Merge pull request #2238 from hasyimibhar/master
Remove duplicated environment variablespull/2518/head
commit
c744792fc4
36
api/api.go
36
api/api.go
|
@ -20,6 +20,28 @@ import (
|
|||
"github.com/hashicorp/go-cleanhttp"
|
||||
)
|
||||
|
||||
const (
|
||||
// HTTPAddrEnvName defines an environment variable name which sets
|
||||
// the HTTP address if there is no -http-addr specified.
|
||||
HTTPAddrEnvName = "CONSUL_HTTP_ADDR"
|
||||
|
||||
// HTTPTokenEnvName defines an environment variable name which sets
|
||||
// the HTTP token.
|
||||
HTTPTokenEnvName = "CONSUL_HTTP_TOKEN"
|
||||
|
||||
// HTTPAuthEnvName defines an environment variable name which sets
|
||||
// the HTTP authentication header.
|
||||
HTTPAuthEnvName = "CONSUL_HTTP_AUTH"
|
||||
|
||||
// HTTPSSLEnvName defines an environment variable name which sets
|
||||
// whether or not to use HTTPS.
|
||||
HTTPSSLEnvName = "CONSUL_HTTP_SSL"
|
||||
|
||||
// HTTPSSLVerifyEnvName defines an environment variable name which sets
|
||||
// whether or not to disable certificate checking.
|
||||
HTTPSSLVerifyEnvName = "CONSUL_HTTP_SSL_VERIFY"
|
||||
)
|
||||
|
||||
// QueryOptions are used to parameterize a query
|
||||
type QueryOptions struct {
|
||||
// Providing a datacenter overwrites the DC provided
|
||||
|
@ -181,15 +203,15 @@ func defaultConfig(transportFn func() *http.Transport) *Config {
|
|||
},
|
||||
}
|
||||
|
||||
if addr := os.Getenv("CONSUL_HTTP_ADDR"); addr != "" {
|
||||
if addr := os.Getenv(HTTPAddrEnvName); addr != "" {
|
||||
config.Address = addr
|
||||
}
|
||||
|
||||
if token := os.Getenv("CONSUL_HTTP_TOKEN"); token != "" {
|
||||
if token := os.Getenv(HTTPTokenEnvName); token != "" {
|
||||
config.Token = token
|
||||
}
|
||||
|
||||
if auth := os.Getenv("CONSUL_HTTP_AUTH"); auth != "" {
|
||||
if auth := os.Getenv(HTTPAuthEnvName); auth != "" {
|
||||
var username, password string
|
||||
if strings.Contains(auth, ":") {
|
||||
split := strings.SplitN(auth, ":", 2)
|
||||
|
@ -205,10 +227,10 @@ func defaultConfig(transportFn func() *http.Transport) *Config {
|
|||
}
|
||||
}
|
||||
|
||||
if ssl := os.Getenv("CONSUL_HTTP_SSL"); ssl != "" {
|
||||
if ssl := os.Getenv(HTTPSSLEnvName); ssl != "" {
|
||||
enabled, err := strconv.ParseBool(ssl)
|
||||
if err != nil {
|
||||
log.Printf("[WARN] client: could not parse CONSUL_HTTP_SSL: %s", err)
|
||||
log.Printf("[WARN] client: could not parse %s: %s", HTTPSSLEnvName, err)
|
||||
}
|
||||
|
||||
if enabled {
|
||||
|
@ -216,10 +238,10 @@ func defaultConfig(transportFn func() *http.Transport) *Config {
|
|||
}
|
||||
}
|
||||
|
||||
if verify := os.Getenv("CONSUL_HTTP_SSL_VERIFY"); verify != "" {
|
||||
if verify := os.Getenv(HTTPSSLVerifyEnvName); verify != "" {
|
||||
doVerify, err := strconv.ParseBool(verify)
|
||||
if err != nil {
|
||||
log.Printf("[WARN] client: could not parse CONSUL_HTTP_SSL_VERIFY: %s", err)
|
||||
log.Printf("[WARN] client: could not parse %s: %s", HTTPSSLVerifyEnvName, err)
|
||||
}
|
||||
|
||||
if !doVerify {
|
||||
|
|
|
@ -76,16 +76,16 @@ func TestDefaultConfig_env(t *testing.T) {
|
|||
token := "abcd1234"
|
||||
auth := "username:password"
|
||||
|
||||
os.Setenv("CONSUL_HTTP_ADDR", addr)
|
||||
defer os.Setenv("CONSUL_HTTP_ADDR", "")
|
||||
os.Setenv("CONSUL_HTTP_TOKEN", token)
|
||||
defer os.Setenv("CONSUL_HTTP_TOKEN", "")
|
||||
os.Setenv("CONSUL_HTTP_AUTH", auth)
|
||||
defer os.Setenv("CONSUL_HTTP_AUTH", "")
|
||||
os.Setenv("CONSUL_HTTP_SSL", "1")
|
||||
defer os.Setenv("CONSUL_HTTP_SSL", "")
|
||||
os.Setenv("CONSUL_HTTP_SSL_VERIFY", "0")
|
||||
defer os.Setenv("CONSUL_HTTP_SSL_VERIFY", "")
|
||||
os.Setenv(HTTPAddrEnvName, addr)
|
||||
defer os.Setenv(HTTPAddrEnvName, "")
|
||||
os.Setenv(HTTPTokenEnvName, token)
|
||||
defer os.Setenv(HTTPTokenEnvName, "")
|
||||
os.Setenv(HTTPAuthEnvName, auth)
|
||||
defer os.Setenv(HTTPAuthEnvName, "")
|
||||
os.Setenv(HTTPSSLEnvName, "1")
|
||||
defer os.Setenv(HTTPSSLEnvName, "")
|
||||
os.Setenv(HTTPSSLVerifyEnvName, "0")
|
||||
defer os.Setenv(HTTPSSLVerifyEnvName, "")
|
||||
|
||||
for i, config := range []*Config{DefaultConfig(), DefaultNonPooledConfig()} {
|
||||
if config.Address != addr {
|
||||
|
|
|
@ -13,6 +13,12 @@ import (
|
|||
"sync/atomic"
|
||||
)
|
||||
|
||||
const (
|
||||
// RPCAddrEnvName defines an environment variable name which sets
|
||||
// an RPC address if there is no -rpc-addr specified.
|
||||
RPCAddrEnvName = "CONSUL_RPC_ADDR"
|
||||
)
|
||||
|
||||
var (
|
||||
clientClosed = fmt.Errorf("client closed")
|
||||
)
|
||||
|
@ -84,7 +90,7 @@ func NewRPCClient(addr string) (*RPCClient, error) {
|
|||
var conn net.Conn
|
||||
var err error
|
||||
|
||||
if envAddr := os.Getenv("CONSUL_RPC_ADDR"); envAddr != "" {
|
||||
if envAddr := os.Getenv(RPCAddrEnvName); envAddr != "" {
|
||||
addr = envAddr
|
||||
}
|
||||
|
||||
|
|
|
@ -8,20 +8,10 @@ import (
|
|||
"github.com/hashicorp/consul/command/agent"
|
||||
)
|
||||
|
||||
const (
|
||||
// RPCAddrEnvName defines an environment variable name which sets
|
||||
// an RPC address if there is no -rpc-addr specified.
|
||||
RPCAddrEnvName = "CONSUL_RPC_ADDR"
|
||||
|
||||
// HTTPAddrEnvName defines an environment variable name which sets
|
||||
// the HTTP address if there is no -http-addr specified.
|
||||
HTTPAddrEnvName = "CONSUL_HTTP_ADDR"
|
||||
)
|
||||
|
||||
// RPCAddrFlag returns a pointer to a string that will be populated
|
||||
// when the given flagset is parsed with the RPC address of the Consul.
|
||||
func RPCAddrFlag(f *flag.FlagSet) *string {
|
||||
defaultRPCAddr := os.Getenv(RPCAddrEnvName)
|
||||
defaultRPCAddr := os.Getenv(agent.RPCAddrEnvName)
|
||||
if defaultRPCAddr == "" {
|
||||
defaultRPCAddr = "127.0.0.1:8400"
|
||||
}
|
||||
|
@ -37,7 +27,7 @@ func RPCClient(addr string) (*agent.RPCClient, error) {
|
|||
// HTTPAddrFlag returns a pointer to a string that will be populated
|
||||
// when the given flagset is parsed with the HTTP address of the Consul.
|
||||
func HTTPAddrFlag(f *flag.FlagSet) *string {
|
||||
defaultHTTPAddr := os.Getenv(HTTPAddrEnvName)
|
||||
defaultHTTPAddr := os.Getenv(consulapi.HTTPAddrEnvName)
|
||||
if defaultHTTPAddr == "" {
|
||||
defaultHTTPAddr = "127.0.0.1:8500"
|
||||
}
|
||||
|
|
|
@ -4,6 +4,9 @@ import (
|
|||
"flag"
|
||||
"os"
|
||||
"testing"
|
||||
|
||||
consulapi "github.com/hashicorp/consul/api"
|
||||
"github.com/hashicorp/consul/command/agent"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@ -21,11 +24,11 @@ func getParsedAddr(t *testing.T, addrType, cliVal, envVal string) string {
|
|||
switch addrType {
|
||||
case "rpc":
|
||||
fn = RPCAddrFlag
|
||||
envVar = RPCAddrEnvName
|
||||
envVar = agent.RPCAddrEnvName
|
||||
cliFlag = "-rpc-addr"
|
||||
case "http":
|
||||
fn = HTTPAddrFlag
|
||||
envVar = HTTPAddrEnvName
|
||||
envVar = consulapi.HTTPAddrEnvName
|
||||
cliFlag = "-http-addr"
|
||||
default:
|
||||
t.Fatalf("unknown address type %s", addrType)
|
||||
|
|
Loading…
Reference in New Issue