summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorFolker Bernitt <fbernitt@thoughtworks.com>2014-11-24 18:00:16 +0100
committerFolker Bernitt <fbernitt@thoughtworks.com>2014-11-24 18:00:16 +0100
commitced2b82f8e6d5e7759d7669b2083f30e59637ecc (patch)
tree0cd210fe7db47acd9a8abc0e36d7e5df18d65a89 /service/pixelated
parent0873555b28027296b1ba4b594a19444138c204d7 (diff)
Added capability to read credentials from stdin.
- See issue https://github.com/pixelated-project/pixelated-dispatcher/issues/40
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/config/args.py1
-rw-r--r--service/pixelated/runserver.py9
2 files changed, 10 insertions, 0 deletions
diff --git a/service/pixelated/config/args.py b/service/pixelated/config/args.py
index 6b77f341..4ac8a2ea 100644
--- a/service/pixelated/config/args.py
+++ b/service/pixelated/config/args.py
@@ -21,6 +21,7 @@ def parse():
parser = argparse.ArgumentParser(description='Pixelated user agent.')
parser.add_argument('--debug', action='store_true', help='DEBUG mode.')
parser.add_argument('--dispatcher', help='run in organization mode, the credentials will be read from specified file', metavar='file')
+ parser.add_argument('--dispatcher-stdin', help='run in organization mode, the credentials will be read from stdin', default=False, action='store_true', dest='dispatcher_stdin')
parser.add_argument('--host', default='127.0.0.1', help='the host to run the user agent on')
parser.add_argument('--port', type=int, default=3333, help='the port to run the user agent on')
parser.add_argument('-c', '--config', metavar='configfile', default=None, help='use specified file for credentials (for test purposes only)')
diff --git a/service/pixelated/runserver.py b/service/pixelated/runserver.py
index 518ea5fb..5f30913b 100644
--- a/service/pixelated/runserver.py
+++ b/service/pixelated/runserver.py
@@ -52,6 +52,11 @@ def setup():
app.config['LEAP_SERVER_NAME'] = config['leap_provider_hostname']
app.config['LEAP_USERNAME'] = config['user']
app.config['LEAP_PASSWORD'] = config['password']
+ elif args.dispatcher_stdin:
+ config = fetch_credentials_from_dispatcher_stdin()
+ app.config['LEAP_SERVER_NAME'] = config['leap_provider_hostname']
+ app.config['LEAP_USERNAME'] = config['user']
+ app.config['LEAP_PASSWORD'] = config['password']
else:
configuration_setup(args.config)
start_services(args.host, args.port)
@@ -72,6 +77,10 @@ def fetch_credentials_from_dispatcher(filename):
return json.loads(fifo.read())
+def fetch_credentials_from_dispatcher_stdin():
+ return json.loads(sys.stdin.read())
+
+
def setup_debugger(enabled):
debug_enabled = enabled or os.environ.get('DEBUG', False)
log.startLogging(sys.stdout)