From a959390ff74f4d8cc954e098877d2098068aee67 Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Mon, 3 Jul 2017 12:31:20 +0100 Subject: [PATCH 1/2] Move SSL config to Settings --- src/eddn/Gateway.py | 4 ++-- src/eddn/Monitor.py | 4 ++-- src/eddn/Relay.py | 4 ++-- src/eddn/conf/Settings.py | 7 +++++++ 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/eddn/Gateway.py b/src/eddn/Gateway.py index 6b79ffc..e288518 100644 --- a/src/eddn/Gateway.py +++ b/src/eddn/Gateway.py @@ -221,8 +221,8 @@ def main(): host=Settings.GATEWAY_HTTP_BIND_ADDRESS, port=Settings.GATEWAY_HTTP_PORT, server='gevent', - certfile='/etc/letsencrypt/live/eddn.edcd.io/fullchain.pem', - keyfile='/etc/letsencrypt/live/eddn.edcd.io/privkey.pem' + certfile=Settings.CERT_FILE, + keyfile=Settings.KEY_FILE ) if __name__ == '__main__': diff --git a/src/eddn/Monitor.py b/src/eddn/Monitor.py index ae0919b..d701576 100644 --- a/src/eddn/Monitor.py +++ b/src/eddn/Monitor.py @@ -258,8 +258,8 @@ def main(): host='0.0.0.0', port=9091, server='gevent', - certfile='/etc/letsencrypt/live/eddn.edcd.io/fullchain.pem', - keyfile='/etc/letsencrypt/live/eddn.edcd.io/privkey.pem' + certfile=Settings.CERT_FILE, + keyfile=Settings.KEY_FILE ) diff --git a/src/eddn/Relay.py b/src/eddn/Relay.py index e5b2ea6..f4cfeb9 100644 --- a/src/eddn/Relay.py +++ b/src/eddn/Relay.py @@ -115,8 +115,8 @@ def main(): host=Settings.RELAY_HTTP_BIND_ADDRESS, port=Settings.RELAY_HTTP_PORT, server='gevent', - certfile='/etc/letsencrypt/live/eddn.edcd.io/fullchain.pem', - keyfile='/etc/letsencrypt/live/eddn.edcd.io/privkey.pem' + certfile=Settings.CERT_FILE, + keyfile=Settings.KEY_FILE ) diff --git a/src/eddn/conf/Settings.py b/src/eddn/conf/Settings.py index 58e4f2b..0ba1197 100644 --- a/src/eddn/conf/Settings.py +++ b/src/eddn/conf/Settings.py @@ -9,6 +9,13 @@ class _Settings(object): EDDN_VERSION = version + ############################################################################### + # Local installation settings + ############################################################################### + + CERT_FILE = '/etc/letsencrypt/live/eddn.edcd.io/fullchain.pem' + KEY_FILE = '/etc/letsencrypt/live/eddn.edcd.io/privkey.pem' + ############################################################################### # Relay settings ############################################################################### From 04a8f91b8c6f0fad29cebb131763d0e69553bc9b Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Mon, 3 Jul 2017 12:58:44 +0100 Subject: [PATCH 2/2] Rewrite schemas during transition period --- src/eddn/Gateway.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/eddn/Gateway.py b/src/eddn/Gateway.py index e288518..fd95333 100644 --- a/src/eddn/Gateway.py +++ b/src/eddn/Gateway.py @@ -37,6 +37,11 @@ statsCollector = StatsCollector() statsCollector.start() +# Migration from schemas.elite-markets.net to eddn.edcd.io - Remove after transition complete! +import re +TRANSITION_RE = re.compile('^https://eddn.edcd.io/schemas/(.+)') + + def configure(): # Get the list of transports to bind from settings. This allows us to PUB # messages to multiple announcers over a variety of socket types @@ -145,6 +150,11 @@ def parse_and_error_handle(data): if validationResults.severity <= ValidationSeverity.WARN: parsed_message['header']['gatewayTimestamp'] = datetime.utcnow().isoformat() + 'Z' + # Migration from schemas.elite-markets.net to eddn.edcd.io - Remove after transition complete! + match = TRANSITION_RE.match(parsed_message['$schemaRef']) + if match and match.group(1): + parsed_message['$schemaRef'] = 'http://schemas.elite-markets.net/eddn/%s' % match.group(1) + ip_hash_salt = Settings.GATEWAY_IP_KEY_SALT if ip_hash_salt: # If an IP hash is set, salt+hash the uploader's IP address and set