Example #1
0
from plugin_collection import PluginCollection

APP_NAME = 'Hyperledger Indy Node Monitor REST API'
APP_DESCRIPTION = 'https://github.com/hyperledger/indy-node-monitor'
APP_VERSION = '0.0.0'

# https://fastapi.tiangolo.com/tutorial/metadata/
app = FastAPI(title=APP_NAME, description=APP_DESCRIPTION, version=APP_VERSION)

# global variables
default_args = None
monitor_plugins = None
pool_collection = None
node_info = None

Network: NetworkEnum = Networks.get_NetworkEnum()


def set_plugin_parameters(status: bool = False, alerts: bool = False):
    # Store args and monitor_plugins for lazy loading.
    global default_args, pool_collection, node_info

    if not default_args:
        # Create plugin instance and set default args
        default_monitor_plugins = PluginCollection('plugins')
        parser = argparse.ArgumentParser()
        parser.add_argument("-v",
                            "--verbose",
                            default=(os.environ.get(
                                'VERBOSE', 'False').lower() == 'true'),
                            action="store_true")