Add environmental variables to allow for the script to be run without consul_io.ini. This allows it to run dynamically without any prerequisite config file (#30900)
This commit is contained in:
parent
534de2df27
commit
6711c9524e
1 changed files with 11 additions and 0 deletions
|
@ -49,12 +49,14 @@ Other options include:
|
||||||
'datacenter':
|
'datacenter':
|
||||||
|
|
||||||
which restricts the included nodes to those from the given datacenter
|
which restricts the included nodes to those from the given datacenter
|
||||||
|
This can also be set with the environmental variable CONSUL_DATACENTER
|
||||||
|
|
||||||
'url':
|
'url':
|
||||||
|
|
||||||
the URL of the Consul cluster. host, port and scheme are derived from the
|
the URL of the Consul cluster. host, port and scheme are derived from the
|
||||||
URL. If not specified, connection configuration defaults to http requests
|
URL. If not specified, connection configuration defaults to http requests
|
||||||
to localhost on port 8500.
|
to localhost on port 8500.
|
||||||
|
This can also be set with the environmental variable CONSUL_URL
|
||||||
|
|
||||||
'domain':
|
'domain':
|
||||||
|
|
||||||
|
@ -453,6 +455,7 @@ class ConsulConfig(dict):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.read_settings()
|
self.read_settings()
|
||||||
self.read_cli_args()
|
self.read_cli_args()
|
||||||
|
self.read_env_vars()
|
||||||
|
|
||||||
def has_config(self, name):
|
def has_config(self, name):
|
||||||
if hasattr(self, name):
|
if hasattr(self, name):
|
||||||
|
@ -497,6 +500,14 @@ class ConsulConfig(dict):
|
||||||
if getattr(args, arg):
|
if getattr(args, arg):
|
||||||
setattr(self, arg, getattr(args, arg))
|
setattr(self, arg, getattr(args, arg))
|
||||||
|
|
||||||
|
def read_env_vars(self):
|
||||||
|
env_var_options = ['datacenter', 'url']
|
||||||
|
for option in env_var_options:
|
||||||
|
value = None
|
||||||
|
env_var = 'CONSUL_' + option.upper()
|
||||||
|
if os.environ.get(env_var):
|
||||||
|
setattr(self, option, os.environ.get(env_var))
|
||||||
|
|
||||||
def get_availability_suffix(self, suffix, default):
|
def get_availability_suffix(self, suffix, default):
|
||||||
if self.has_config(suffix):
|
if self.has_config(suffix):
|
||||||
return self.has_config(suffix)
|
return self.has_config(suffix)
|
||||||
|
|
Loading…
Reference in a new issue