Skip to content
Snippets Groups Projects
Commit 80131ad4 authored by Hunsinger, Heather Elizabeth's avatar Hunsinger, Heather Elizabeth
Browse files

Create container to run the web service

The container is based on the usgs/geomag-algorithms:latest image.
parent 4e52fd1f
No related branches found
No related tags found
No related merge requests found
version: "3"
services:
web:
image: usgs/geomag-algorithms:latest
environment:
- EDGE_HOST=cwbpub.cr.usgs.gov
- EDGE_PORT=2060
- GEOMAG_WEBSERVICE_PORT=8000
- VERSION=0.3.1
ports:
- "8000:8000"
entrypoint: /geomag-algorithms/bin/geomag_webservice.py
...@@ -77,11 +77,7 @@ class WebService(object): ...@@ -77,11 +77,7 @@ class WebService(object):
def __init__(self, factory=None, metadata=None): def __init__(self, factory=None, metadata=None):
self.factory = factory or EdgeFactory() self.factory = factory or EdgeFactory()
self.metadata = metadata or ObservatoryMetadata().metadata self.metadata = metadata or ObservatoryMetadata().metadata
base = os.path.dirname(__file__) self.version = os.getenv('VERSION', None)
filepath = os.path.abspath(os.path.join(base, '..', 'package.json'))
with open(filepath) as package:
specifications = load(package)
self.version = specifications['version']
def __call__(self, environ, start_response): def __call__(self, environ, start_response):
"""Implement WSGI interface""" """Implement WSGI interface"""
...@@ -185,9 +181,10 @@ class WebService(object): ...@@ -185,9 +181,10 @@ class WebService(object):
'Request:\n' + \ 'Request:\n' + \
environ['PATH_INFO'] + '?' + environ['QUERY_STRING'] + \ environ['PATH_INFO'] + '?' + environ['QUERY_STRING'] + \
'\n\n' + 'Request Submitted:\n' + \ '\n\n' + 'Request Submitted:\n' + \
datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ") + '\n\n' + \ datetime.utcnow().strftime("%Y-%m-%dT%H:%M:%SZ") + '\n\n'
'Service version:\n' + \ # Check if there is version information available
str(self.version) if self.version is not None:
http_error_body += 'Service version:\n' + str(self.version)
return http_error_body return http_error_body
def parse(self, params): def parse(self, params):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment