def __init__(self):
self.meta = None
self.proxy = None
self.server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
self._port = 0
self._last_ping = time.time()
self._shutting_down = False
self._monitor = None
self._mode = PluginMode.normal
self._config = {}
self._flags = _Flags()
self.standalone_server = None
# init argparse module and add arguments
self._parser = argparse.ArgumentParser(description="%(prog)s - a Snap framework plugin.",
usage="%(prog)s [options]",
formatter_class=lambda prog:
argparse.HelpFormatter(prog, max_help_position=30))
self._parser.add_argument("framework_config", nargs="?", default=None, help=argparse.SUPPRESS)
flags = [
("config", FlagType.value, "JSON Snap global config"),
("port", FlagType.value, "GRPC server port"),
("stand-alone", FlagType.toggle, "enable stand alone mode"),
("stand-alone-port", FlagType.value, "http port for stand alone mode", 8182),
Flag("log-level", FlagType.value, "logging level 0:panic - 5:debug", 3, json_name="LogLevel"),
Flag("tls", FlagType.toggle, "enable tls", json_name="TLSEnabled"),
Flag("root-cert-paths", FlagType.value, "paths to root certificate; delimited by ':'", json_name="RootCertPaths"),
Flag("key-path", FlagType.value, "path to server private key", json_name="KeyPath"),
Flag("cert-path", FlagType.value, "path to server certificate", json_name="CertPath"),
]
self._flags.add_multiple(flags)
评论列表
文章目录