summaryrefslogtreecommitdiff
path: root/tools/compileconfig.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/compileconfig.py')
-rwxr-xr-xtools/compileconfig.py24
1 files changed, 18 insertions, 6 deletions
diff --git a/tools/compileconfig.py b/tools/compileconfig.py
index 88d6b51..4996994 100755
--- a/tools/compileconfig.py
+++ b/tools/compileconfig.py
@@ -77,7 +77,7 @@ def get_node_config(nodename, config):
sys.exit(1)
return (nodetype, nodeconfig)
-def gen_https_servers(nodetype, nodeconfig, bind_address, bind_publicaddress):
+def gen_http_servers(nodetype, nodeconfig, bind_address, bind_publicaddress, bind_publichttpaddress):
if bind_address:
(host, port) = parse_address(bind_address)
else:
@@ -90,12 +90,22 @@ def gen_https_servers(nodetype, nodeconfig, bind_address, bind_publicaddress):
(_, publicport) = parse_address(nodeconfig["publicaddress"])
publichost = "0.0.0.0"
- return [(Symbol("external_https_api"), publichost, publicport, Symbol("v1")),
- (Symbol("frontend_https_api"), host, port, Symbol("frontend"))]
+ http_servers = []
+ https_servers = []
+ if bind_publichttpaddress:
+ (publichttphost, publichttpport) = parse_address(bind_publichttpaddress)
+ http_servers.append((Symbol("external_http_api"), publichttphost, publichttpport, Symbol("v1")))
+ https_servers.append((Symbol("external_https_api"), publichost, publicport, Symbol("v1")))
+ https_servers.append((Symbol("frontend_https_api"), host, port, Symbol("frontend")))
+ return (http_servers,
+ https_servers)
+
elif nodetype == "storagenodes":
- return [(Symbol("storage_https_api"), host, port, Symbol("storage"))]
+ return ([],
+ [(Symbol("storage_https_api"), host, port, Symbol("storage"))])
elif nodetype == "signingnodes":
- return [(Symbol("signing_https_api"), host, port, Symbol("signing"))]
+ return ([],
+ [(Symbol("signing_https_api"), host, port, Symbol("signing"))])
def allowed_clients_frontend(mergenodenames):
return [
@@ -145,13 +155,14 @@ def gen_config(nodename, config, localconfig):
paths = localconfig["paths"]
bind_address = localconfig.get("addresses", {}).get(nodename)
bind_publicaddress = localconfig.get("publicaddresses", {}).get(nodename)
+ bind_publichttpaddress = localconfig.get("publichttpaddresses", {}).get(nodename)
options = localconfig.get("options", [])
configfile = open(paths["configdir"] + nodename + ".config", "w")
print >>configfile, "%% catlfish configuration file (-*- erlang -*-)"
(nodetype, nodeconfig) = get_node_config(nodename, config)
- https_servers = gen_https_servers(nodetype, nodeconfig, bind_address, bind_publicaddress)
+ (http_servers, https_servers) = gen_http_servers(nodetype, nodeconfig, bind_address, bind_publicaddress, bind_publichttpaddress=bind_publichttpaddress)
catlfishconfig = []
plopconfig = []
@@ -163,6 +174,7 @@ def gen_config(nodename, config, localconfig):
catlfishconfig += [
(Symbol("https_servers"), https_servers),
+ (Symbol("http_servers"), http_servers),
(Symbol("https_certfile"), paths["https_certfile"]),
(Symbol("https_keyfile"), paths["https_keyfile"]),
(Symbol("https_cacertfile"), paths["https_cacertfile"]),