diff options
author | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-11-24 18:00:16 +0100 |
---|---|---|
committer | Folker Bernitt <fbernitt@thoughtworks.com> | 2014-11-24 18:00:16 +0100 |
commit | ced2b82f8e6d5e7759d7669b2083f30e59637ecc (patch) | |
tree | 0cd210fe7db47acd9a8abc0e36d7e5df18d65a89 /service/pixelated | |
parent | 0873555b28027296b1ba4b594a19444138c204d7 (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.py | 1 | ||||
-rw-r--r-- | service/pixelated/runserver.py | 9 |
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) |