def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p]) p.add_argument("--store", help="store type {} [default: %(default)s]".format( ', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--remote', help='specify remote') args = p.parse_args() setup_logging(args) setup_signals(__name__)
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p]) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument("--store", help="specify a store address [default: %(default)s]", default=STORE_ADDR) p.add_argument('--p2p', action='store_true', help='enable experimental p2p support') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) with Router(listen=args.listen, hunter=args.hunter, store=args.store, p2p=args.p2p) as r: try: logger.info('starting router..') r.run() except KeyboardInterrupt: logger.info('shutting down...') logger.info('Shutting down')
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ example usage: $ cif-httpd -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-httpd', parents=[p]) router_address = app.config.get('CIF_ROUTER_ADDR', ROUTER_ADDR) p.add_argument("--router", help="specify router frontend [default %(default)s]", default=router_address) p.add_argument('--token', help="specify cif-httpd token [default %(default)s]", default=TOKEN) p.add_argument( '--listen', help='specify the interface to listen on [default %(default)s]', default=HTTP_LISTEN) p.add_argument('--listen-port', help='specify the port to listen on [default %(default)s]', default=HTTP_LISTEN_PORT) p.add_argument('--fdebug', action='store_true') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) try: logger.info('pinging router...') app.config["SECRET_KEY"] = os.urandom(1024) logger.info('starting up...') app.run(host=args.listen, port=args.listen_port, debug=args.fdebug, threaded=True) except KeyboardInterrupt: logger.info('shutting down...') raise SystemExit
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ example usage: $ cif-hunter -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-hunter', parents=[p], ) p.add_argument('--remote', help="cif-router hunter address [default %(default)s]", default=HUNTER_ADDR) p.add_argument('--router', help='cif-router front end address [default %(default)s]', default=ROUTER_ADDR) p.add_argument('--token', help='specify cif-hunter token [default %(default)s]', default=TOKEN) p.add_argument('--config', default=CONFIG_PATH) args = p.parse_args() setup_logging(args) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) with Hunter(remote=options.get('remote'), router=args.router, token=options.get('token')) as h: try: logger.info('starting up...') h.start() except KeyboardInterrupt: logging.info("shutting down...") h.stop()
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p] ) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument("--store", help="specify a store address [default: %(default)s]", default=STORE_ADDR) p.add_argument('--p2p', action='store_true', help='enable experimental p2p support') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) with Router(listen=args.listen, hunter=args.hunter, store=args.store, p2p=args.p2p) as r: try: logger.info('starting router..') r.run() except KeyboardInterrupt: logger.info('shutting down...') logger.info('Shutting down')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ example usage: $ cif-httpd -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-httpd', parents=[p] ) router_address = app.config.get('CIF_ROUTER_ADDR', ROUTER_ADDR) p.add_argument("--router", help="specify router frontend [default %(default)s]", default=router_address) p.add_argument('--token', help="specify cif-httpd token [default %(default)s]", default=TOKEN) p.add_argument('--listen', help='specify the interface to listen on [default %(default)s]', default=HTTP_LISTEN) p.add_argument('--listen-port', help='specify the port to listen on [default %(default)s]', default=HTTP_LISTEN_PORT) p.add_argument('--fdebug', action='store_true') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) try: logger.info('pinging router...') app.config["SECRET_KEY"] = os.urandom(1024) logger.info('starting up...') app.run(host=args.listen, port=args.listen_port, debug=args.fdebug, threaded=True) except KeyboardInterrupt: logger.info('shutting down...') raise SystemExit
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ example usage: $ cif-hunter -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-hunter', parents=[p], ) p.add_argument('--remote', help="cif-router hunter address [default %(default)s]", default=HUNTER_ADDR) p.add_argument('--router', help='cif-router front end address [default %(default)s]', default=ROUTER_ADDR) p.add_argument('--token', help='specify cif-hunter token [default %(default)s]', default=TOKEN) p.add_argument('--config', default=CONFIG_PATH) args = p.parse_args() setup_logging(args) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) with Hunter(remote=options.get('remote'), router=args.router, token=options.get('token')) as h: try: logger.info('starting up...') h.start() except KeyboardInterrupt: logging.info("shutting down...") h.stop()
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_CONFIG_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_HUNTER_TOKEN CIF_HUNTER_THREADS CIF_GATHERER_THREADS CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p]) p.add_argument('--config', help='specify config path [default: %(default)s', default=CONFIG_PATH) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument( '--gatherer-threads', help='specify number of gatherer threads to use [default: %(default)s]', default=GATHERER_THREADS) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument( '--hunter-token', help='specify token for hunters to use [default: %(default)s]', default=HUNTER_TOKEN) p.add_argument( '--hunter-threads', help='specify number of hunter threads to use [default: %(default)s]', default=HUNTER_THREADS) p.add_argument( "--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument( "--store", help="specify a store type {} [default: %(default)s]".format( ', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--store-nodes', help='specify storage nodes address [default: %(default)s]', default=STORE_NODES) p.add_argument('--p2p', action='store_true', help='enable experimental p2p support') p.add_argument('--logging-ignore', help='set logging to WARNING for specific modules') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) if args.logging_ignore: to_ignore = args.logging_ignore.split(',') for i in to_ignore: logging.getLogger(i).setLevel(logging.WARNING) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) setup_signals(__name__) setup_runtime_path(args.runtime_path) with Router(listen=args.listen, hunter=args.hunter, store_type=args.store, store_address=args.store_address, store_nodes=args.store_nodes, p2p=args.p2p, hunter_token=args.hunter_token, hunter_threads=args.hunter_threads, gatherer_threads=args.gatherer_threads) as r: try: logger.info('starting router..') r.start() except KeyboardInterrupt: # todo - signal to threads to shut down and wait for them to finish logger.info('shutting down...') logger.info('Shutting down')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_STORE_ADDR example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p] ) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--store-type') p.add_argument('--nodes') p.add_argument('--config', help='specify config path [default %(default)s]', default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token') p.add_argument('--token-create-smrt') p.add_argument('--token-create-smrt-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter') p.add_argument('--remote', help='specify remote') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) if args.token_create_smrt: with Store(store_type=args.store, nodes=args.nodes) as s: t = s.token_create_smrt() if t: data = { 'token': t.decode('utf-8'), } if args.remote: data['remote'] = args.remote with open(args.token_create_smrt, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_smrt)) else: logger.error('token not created') if args.token_create_hunter: with Store(store_type=args.store, nodes=args.nodes) as s: t = s.token_create_hunter() if t: data = { 'hunter_token': t.decode('utf-8'), } with open(args.token_create_hunter, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_hunter)) else: logger.error('token not created') if args.token_create_admin: with Store(store_type=args.store, nodes=args.nodes) as s: t = s.token_create_admin() if t: data = { 'token': t.decode('utf-8'), } with open(args.token_create_admin, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_admin)) else: logger.error('token not created')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_CONFIG_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_HUNTER_TOKEN CIF_HUNTER_THREADS CIF_GATHERER_THREADS CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p] ) p.add_argument('--config', help='specify config path [default: %(default)s', default=CONFIG_PATH) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument('--gatherer-threads', help='specify number of gatherer threads to use [default: %(default)s]', default=GATHERER_THREADS) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument('--hunter-token', help='specify token for hunters to use [default: %(default)s]', default=HUNTER_TOKEN) p.add_argument('--hunter-threads', help='specify number of hunter threads to use [default: %(default)s]', default=HUNTER_THREADS) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--store-nodes', help='specify storage nodes address [default: %(default)s]', default=STORE_NODES) p.add_argument('--logging-ignore', help='set logging to WARNING for specific modules') p.add_argument('--pidfile', help='specify pidfile location [default: %(default)s]', default=PIDFILE) args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) if args.logging_ignore: to_ignore = args.logging_ignore.split(',') for i in to_ignore: logging.getLogger(i).setLevel(logging.WARNING) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) setup_runtime_path(args.runtime_path) setup_signals(__name__) # http://stackoverflow.com/a/789383/7205341 pid = str(os.getpid()) logger.debug("pid: %s" % pid) if os.path.isfile(args.pidfile): logger.critical("%s already exists, exiting" % args.pidfile) raise SystemExit try: pidfile = open(args.pidfile, 'w') pidfile.write(pid) pidfile.close() except PermissionError as e: logger.error('unable to create pid %s' % args.pidfile) with Router(listen=args.listen, hunter=args.hunter, store_type=args.store, store_address=args.store_address, store_nodes=args.store_nodes, hunter_token=args.hunter_token, hunter_threads=args.hunter_threads, gatherer_threads=args.gatherer_threads) as r: try: logger.info('starting router..') r.start() except KeyboardInterrupt: # todo - signal to threads to shut down and wait for them to finish logger.info('shutting down via SIGINT...') except SystemExit: logger.info('shutting down via SystemExit...') except Exception as e: logger.critical(e) traceback.print_exc() r.stop() logger.info('Shutting down') if os.path.isfile(args.pidfile): os.unlink(args.pidfile)
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ example usage: $ cif-httpd -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-httpd', parents=[p]) router_address = app.config.get('CIF_ROUTER_ADDR', ROUTER_ADDR) p.add_argument("--router", help="specify router frontend [default %(default)s]", default=router_address) p.add_argument( '--listen', help='specify the interface to listen on [default %(default)s]', default=HTTP_LISTEN) p.add_argument('--listen-port', help='specify the port to listen on [default %(default)s]', default=HTTP_LISTEN_PORT) p.add_argument('--pidfile', help='specify pidfile location [default: %(default)s]', default=PIDFILE) p.add_argument('--fdebug', action='store_true') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) if TRACE: logger.setLevel(logging.DEBUG) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) if not args.fdebug: # http://stackoverflow.com/a/789383/7205341 pid = str(os.getpid()) logger.debug("pid: %s" % pid) if os.path.isfile(args.pidfile): logger.critical("%s already exists, exiting" % args.pidfile) raise SystemExit try: pidfile = open(args.pidfile, 'w') pidfile.write(pid) pidfile.close() except PermissionError as e: logger.error('unable to create pid %s' % args.pidfile) try: logger.info('pinging router...') logger.info('starting up...') app.run(host=args.listen, port=args.listen_port, debug=args.fdebug, threaded=True, extra_files=extra_files) except KeyboardInterrupt: logger.info('shutting down...') except Exception as e: logger.critical(e) traceback.print_exc() if os.path.isfile(args.pidfile): os.unlink(args.pidfile)
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_CONFIG_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_HUNTER_TOKEN CIF_HUNTER_THREADS CIF_GATHERER_THREADS CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p]) p.add_argument('--config', help='specify config path [default: %(default)s', default=CONFIG_PATH) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument( '--gatherer-threads', help='specify number of gatherer threads to use [default: %(default)s]', default=GATHERER_THREADS) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument( '--hunter-token', help='specify token for hunters to use [default: %(default)s]', default=HUNTER_TOKEN) p.add_argument( '--hunter-threads', help='specify number of hunter threads to use [default: %(default)s]', default=HUNTER_THREADS) p.add_argument( "--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument( "--store", help="specify a store type {} [default: %(default)s]".format( ', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--store-nodes', help='specify storage nodes address [default: %(default)s]', default=STORE_NODES) p.add_argument('--logging-ignore', help='set logging to WARNING for specific modules') p.add_argument('--pidfile', help='specify pidfile location [default: %(default)s]', default=PIDFILE) args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) if args.logging_ignore: to_ignore = args.logging_ignore.split(',') for i in to_ignore: logging.getLogger(i).setLevel(logging.WARNING) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) setup_runtime_path(args.runtime_path) setup_signals(__name__) # http://stackoverflow.com/a/789383/7205341 pid = str(os.getpid()) logger.debug("pid: %s" % pid) if os.path.isfile(args.pidfile): logger.critical("%s already exists, exiting" % args.pidfile) raise SystemExit try: pidfile = open(args.pidfile, 'w') pidfile.write(pid) pidfile.close() except PermissionError as e: logger.error('unable to create pid %s' % args.pidfile) with Router(listen=args.listen, hunter=args.hunter, store_type=args.store, store_address=args.store_address, store_nodes=args.store_nodes, hunter_token=args.hunter_token, hunter_threads=args.hunter_threads, gatherer_threads=args.gatherer_threads) as r: try: logger.info('starting router..') r.start() except KeyboardInterrupt: # todo - signal to threads to shut down and wait for them to finish logger.info('shutting down via SIGINT...') except SystemExit: logger.info('shutting down via SystemExit...') except Exception as e: logger.critical(e) traceback.print_exc() r.stop() logger.info('Shutting down') if os.path.isfile(args.pidfile): os.unlink(args.pidfile)
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_ROUTER_CONFIG_PATH CIF_ROUTER_ADDR CIF_HUNTER_ADDR CIF_HUNTER_TOKEN CIF_HUNTER_THREADS CIF_GATHERER_THREADS CIF_STORE_ADDR example usage: $ cif-router --listen 0.0.0.0 -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-router', parents=[p] ) p.add_argument('--config', help='specify config path [default: %(default)s', default=CONFIG_PATH) p.add_argument('--listen', help='address to listen on [default: %(default)s]', default=ROUTER_ADDR) p.add_argument('--gatherer-threads', help='specify number of gatherer threads to use [default: %(default)s]', default=GATHERER_THREADS) p.add_argument('--hunter', help='address hunters listen on on [default: %(default)s]', default=HUNTER_ADDR) p.add_argument('--hunter-token', help='specify token for hunters to use [default: %(default)s]', default=HUNTER_TOKEN) p.add_argument('--hunter-threads', help='specify number of hunter threads to use [default: %(default)s]', default=HUNTER_THREADS) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--store-nodes', help='specify storage nodes address [default: %(default)s]', default=STORE_NODES) p.add_argument('--p2p', action='store_true', help='enable experimental p2p support') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) o = read_config(args) options = vars(args) for v in options: if options[v] is None: options[v] = o.get(v) setup_signals(__name__) setup_runtime_path(args.runtime_path) with Router(listen=args.listen, hunter=args.hunter, store_type=args.store, store_address=args.store_address, store_nodes=args.store_nodes, p2p=args.p2p, hunter_token=args.hunter_token, hunter_threads=args.hunter_threads, gatherer_threads=args.gatherer_threads) as r: try: logger.info('starting router..') r.start() except KeyboardInterrupt: # todo - signal to threads to shut down and wait for them to finish logger.info('shutting down...') logger.info('Shutting down')
def main(): p = get_argument_parser() p = ArgumentParser(description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_STORE_ADDR example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p]) p.add_argument( "--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument( "--store", help="specify a store type {} [default: %(default)s]".format( ', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--nodes') p.add_argument('--config', help='specify config path [default %(default)s]', default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token', action="store_true") p.add_argument('--token-create-smrt', action="store_true") p.add_argument('--token-create-smrt-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter', action="store_true") p.add_argument('--token-create-httpd', action="store_true") p.add_argument('--config-path', help='store the token as a config') p.add_argument('--token', help='specify the token to use', default=None) p.add_argument( '--token-groups', help="specify groups associated with token [default %(default)s]'", default='everyone') p.add_argument('--remote', help='specify remote') args = p.parse_args() groups = args.token_groups.split(',') setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format( logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) if not args.token_create_smrt and not args.token_create_admin and not args.token_create_hunter and not \ args.token_create_httpd: logger.error('missing required arguments, see -h for more information') raise SystemExit if args.token_create_smrt: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_smrt(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.remote: data['remote'] = args.remote if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format( args.token_create_smrt)) else: logger.error('token not created') if args.token_create_hunter: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_hunter(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'hunter_token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format( args.token_create_hunter)) else: logger.error('token not created') if args.token_create_admin: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_admin(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format( args.token_create_admin)) else: logger.error('token not created') if args.token_create_httpd: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_httpd(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format( args.token_create_httpd)) else: logger.error('token not created')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p] ) p.add_argument("--store", help="store type {} [default: %(default)s]". format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--config', help='specify config path [default %(default)s]' , default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token', action="store_true") p.add_argument('--token-create-fm', action="store_true") p.add_argument('--token-create-fm-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter', action="store_true") p.add_argument('--token-create-httpd', action="store_true") p.add_argument('--config-path', help='store the token as a config') p.add_argument('--token', help='specify the token to use', default=None) p.add_argument('--token-groups', help="groups associated with token [default %(default)s]'", default='everyone') p.add_argument('--remote', help='specify remote') args = p.parse_args() groups = args.token_groups.split(',') setup_logging(args) setup_signals(__name__) if not args.token_create_fm and not args.token_create_admin and \ not args.token_create_hunter and not \ args.token_create_httpd: logger.error('missing required arguments, see -h for more information') raise SystemExit if args.token_create_fm: with Store(store_type=args.store) as s: s._load_plugin(store_type=args.store) t = s.token_handler.token_create_fm(token=args.token, groups=groups) if t: data = {'token': t} if args.remote: data['remote'] = args.remote if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info(f'token config generated: {args.token_create_fm}') else: logger.error('token not created') if args.token_create_hunter: with Store(store_type=args.store) as s: t = s.token_handler.token_create_hunter(token=args.token, groups=groups) if t: data = {'token': t} if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info(f'token config generated: ' f'{args.token_create_hunter}') else: logger.error('token not created') if args.token_create_admin: with Store(store_type=args.store) as s: t = s.token_handler.token_create_admin(token=args.token, groups=groups) if t: data = {'token': t} if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}' .format(args.token_create_admin)) else: logger.error('token not created') if args.token_create_httpd: with Store(store_type=args.store) as s: t = s.token_handler.token_create_httpd(token=args.token, groups=groups) if t: data = {'token': t} if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}' .format(args.token_create_httpd)) else: logger.error('token not created')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_STORE_ADDR example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p] ) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--nodes') p.add_argument('--config', help='specify config path [default %(default)s]', default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token') p.add_argument('--token-create-smrt') p.add_argument('--token-create-smrt-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter') p.add_argument('--remote', help='specify remote') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) if args.token_create_smrt: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_smrt() if t: data = { 'token': t.encode('utf-8'), } if args.remote: data['remote'] = args.remote with open(args.token_create_smrt, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_smrt)) else: logger.error('token not created') if args.token_create_hunter: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_hunter() if t: data = { 'hunter_token': t.encode('utf-8'), } with open(args.token_create_hunter, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_hunter)) else: logger.error('token not created') if args.token_create_admin: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_admin() if t: data = { 'token': t.encode('utf-8'), } with open(args.token_create_admin, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_admin)) else: logger.error('token not created')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ example usage: $ cif-httpd -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-httpd', parents=[p] ) router_address = app.config.get('CIF_ROUTER_ADDR', ROUTER_ADDR) p.add_argument("--router", help="specify router frontend [default %(default)s]", default=router_address) p.add_argument('--listen', help='specify the interface to listen on [default %(default)s]', default=HTTP_LISTEN) p.add_argument('--listen-port', help='specify the port to listen on [default %(default)s]', default=HTTP_LISTEN_PORT) p.add_argument('--pidfile', help='specify pidfile location [default: %(default)s]', default=PIDFILE) p.add_argument('--fdebug', action='store_true') args = p.parse_args() setup_logging(args) logger = logging.getLogger(__name__) if TRACE: logger.setLevel(logging.DEBUG) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) setup_runtime_path(args.runtime_path) if not args.fdebug: # http://stackoverflow.com/a/789383/7205341 pid = str(os.getpid()) logger.debug("pid: %s" % pid) if os.path.isfile(args.pidfile): logger.critical("%s already exists, exiting" % args.pidfile) raise SystemExit try: pidfile = open(args.pidfile, 'w') pidfile.write(pid) pidfile.close() except PermissionError as e: logger.error('unable to create pid %s' % args.pidfile) try: logger.info('pinging router...') logger.info('starting up...') app.run(host=args.listen, port=args.listen_port, debug=args.fdebug, threaded=True, extra_files=extra_files) except KeyboardInterrupt: logger.info('shutting down...') except Exception as e: logger.critical(e) traceback.print_exc() if os.path.isfile(args.pidfile): os.unlink(args.pidfile)
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_STORE_ADDR example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p] ) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--config', help='specify config path [default %(default)s]', default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token') p.add_argument('--token-create-smrt') p.add_argument('--token-create-smrt-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter') args = p.parse_args() pprint(args) setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) # from cif.reloader import ModuleWatcher # mw = ModuleWatcher() # mw.watch_module('cif.store') # mw.start_watching() start = True if args.token_create_smrt: start = False with Store(store=args.store) as s: t = s.token_create_smrt() if t: data = { 'token': str(t), } with open(args.token_create_smrt, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_smrt)) else: logger.error('token not created') if args.token_create_hunter: start = False with Store(store=args.store) as s: t = s.token_create_hunter() if t: data = { 'token': str(t), } with open(args.token_create_hunter, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_hunter)) else: logger.error('token not created') if args.token_create_admin: start = False with Store(store=args.store) as s: t = s.token_create_admin() if t: data = { 'token': str(t), } with open(args.token_create_admin, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_admin)) else: logger.error('token not created') if start: with Store(store_address=args.store_address, store=args.store) as s: try: logger.info('starting up...') s.start() except KeyboardInterrupt: logger.info('shutting down...')
def main(): p = get_argument_parser() p = ArgumentParser( description=textwrap.dedent('''\ Env Variables: CIF_RUNTIME_PATH CIF_STORE_ADDR example usage: $ cif-store -d '''), formatter_class=RawDescriptionHelpFormatter, prog='cif-store', parents=[p] ) p.add_argument("--store-address", help="specify the store address cif-router is listening on[default: %(" "default)s]", default=STORE_ADDR) p.add_argument("--store", help="specify a store type {} [default: %(default)s]".format(', '.join(STORE_PLUGINS)), default=STORE_DEFAULT) p.add_argument('--nodes') p.add_argument('--config', help='specify config path [default %(default)s]', default=CONFIG_PATH) p.add_argument('--token-create-admin', help='generate an admin token', action="store_true") p.add_argument('--token-create-smrt', action="store_true") p.add_argument('--token-create-smrt-remote', default=REMOTE_ADDR) p.add_argument('--token-create-hunter', action="store_true") p.add_argument('--token-create-httpd', action="store_true") p.add_argument('--config-path', help='store the token as a config') p.add_argument('--token', help='specify the token to use', default=None) p.add_argument('--token-groups', help="specify groups associated with token [default %(default)s]'", default='everyone') p.add_argument('--remote', help='specify remote') args = p.parse_args() groups = args.token_groups.split(',') setup_logging(args) logger = logging.getLogger(__name__) logger.info('loglevel is: {}'.format(logging.getLevelName(logger.getEffectiveLevel()))) setup_signals(__name__) if not args.token_create_smrt and not args.token_create_admin and not args.token_create_hunter and not \ args.token_create_httpd: logger.error('missing required arguments, see -h for more information') raise SystemExit if args.token_create_smrt: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_smrt(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.remote: data['remote'] = args.remote if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_smrt)) else: logger.error('token not created') if args.token_create_hunter: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_hunter(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'hunter_token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_hunter)) else: logger.error('token not created') if args.token_create_admin: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_admin(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_admin)) else: logger.error('token not created') if args.token_create_httpd: with Store(store_type=args.store, nodes=args.nodes) as s: s._load_plugin(store_type=args.store, nodes=args.nodes) t = s.token_create_httpd(token=args.token, groups=groups) if t: if PYVERSION == 2: t = t.encode('utf-8') data = { 'token': t, } if args.config_path: with open(args.config_path, 'w') as f: f.write(yaml.dump(data, default_flow_style=False)) logger.info('token config generated: {}'.format(args.token_create_httpd)) else: logger.error('token not created')