Make some addresses and hosts configurable with environment variables

This commit is contained in:
Mark Veidemanis 2022-07-28 19:38:37 +01:00
parent 422d3d4cdc
commit a598bbab4b
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
2 changed files with 34 additions and 16 deletions

1
.gitignore vendored
View File

@ -12,3 +12,4 @@ conf/irc.json
conf/dist.sh
conf/blacklist.json
env/
.idea/

View File

@ -19,6 +19,7 @@ from core.server import ServerFactory
from utils.cleanup import handler
from utils.loaders.command_loader import loadCommands
from utils.logging.log import log
from os import getenv
Factory.noisy = False
@ -38,9 +39,25 @@ stdout = getwriter("utf8")(stdout) # this is a generic fix but we all know
stderr = getwriter("utf8")(stderr) # it's just for the retards on Rizon using
# unicode quit messages for no reason
# Main listener
listener_address = getenv("THRESHOLD_LISTENER_HOST") or main.config["Listener"]["Address"]
listener_port = int(getenv("THRESHOLD_LISTENER_PORT")) or main.config["Listener"]["Port"]
listener_ssl = int(getenv("THRESHOLD_LISTENER_SSL")) or main.config["Listener"]["UseSSL"]
# RelayAPI
relay_enabled = int(getenv("THRESHOLD_RELAY_ENABLED")) or main.config["Relay"]["Enabled"]
relay_address = getenv("THRESHOLD_RELAY_HOST") or main.config["RelayAPI"]["Address"]
relay_port = int(getenv("THRESHOLD_RELAY_PORT")) or main.config["RelayAPI"]["Port"]
relay_ssl = int(getenv("THRESHOLD_RELAY_SSL")) or main.config["RelayAPI"]["UseSSL"]
# Web API
api_enabled = int(getenv("THRESHOLD_API_ENABLED")) or main.config["API"]["Enabled"]
api_address = getenv("THRESHOLD_API_HOST") or main.config["API"]["Address"]
api_port = int(getenv("THRESHOLD_API_PORT")) or main.config["API"]["Port"]
if __name__ == "__main__":
listener = ServerFactory()
if main.config["Listener"]["UseSSL"] is True:
if listener_ssl is True:
reactor.listenSSL(
main.config["Listener"]["Port"],
listener,
@ -48,50 +65,50 @@ if __name__ == "__main__":
main.certPath + main.config["Key"],
main.certPath + main.config["Certificate"],
),
interface=main.config["Listener"]["Address"],
interface=listener_address,
)
log(
"Threshold running with SSL on %s:%s"
% (main.config["Listener"]["Address"], main.config["Listener"]["Port"])
% (listener_address, listener_port)
)
else:
reactor.listenTCP(
main.config["Listener"]["Port"],
listener_port,
listener,
interface=main.config["Listener"]["Address"],
interface=listener_address,
)
log("Threshold running on %s:%s" % (main.config["Listener"]["Address"], main.config["Listener"]["Port"]))
if main.config["RelayAPI"]["Enabled"]:
log("Threshold running on %s:%s" % (listener_address, listener_port))
if relay_enabled:
relay = RelayFactory()
if main.config["RelayAPI"]["UseSSL"] is True:
if relay_ssl is True:
reactor.listenSSL(
main.config["RelayAPI"]["Port"],
relay_port,
relay,
DefaultOpenSSLContextFactory(
main.certPath + main.config["Key"],
main.certPath + main.config["Certificate"],
),
interface=main.config["RelayAPI"]["Address"],
interface=relay_address,
)
log(
"Threshold relay running with SSL on %s:%s"
% (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"])
% (relay_address, relay_port)
)
else:
reactor.listenTCP(
main.config["RelayAPI"]["Port"],
relay_port,
relay,
interface=main.config["RelayAPI"]["Address"],
interface=relay_address,
)
log(
"Threshold relay running on %s:%s"
% (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"])
% (relay_address, relay_port)
)
for net in main.network.keys():
main.network[net].start_bots()
modules.counters.setupCounterLoop()
if main.config["API"]["Enabled"]:
if api_enabled:
api = API()
api.app.run(main.config["API"]["Address"], main.config["API"]["Port"])
api.app.run(api_address, api_port)
else:
reactor.run()