def init_plugins()

in services/ui_backend_service/plugins/__init__.py [0:0]


def init_plugins():
    global _PLUGINS

    logger.info("Init plugins")

    plugins = get_json_config("plugins")
    if plugins:
        global_auth = None
        if "auth" in plugins and isinstance(plugins["auth"], dict):
            global_auth = plugins["auth"]

        for identifier, value in plugins.items():
            if isinstance(value, str):
                repository = value
                ref = None
                parameters = {}
                paths = None
                auth = global_auth
            elif identifier == "auth":
                continue
            elif isinstance(value, dict):
                repository = value.get("repository", None)
                ref = value.get("ref", None)
                parameters = value.get("parameters", {})
                paths = value.get("paths", None)
                if "auth" in value:
                    auth = value.get("auth", None)
                else:
                    auth = global_auth
            else:
                logger.warning("   [{}] Invalid plugin format, skipping".format(identifier))
                continue

            if paths and isinstance(paths, list):
                for path in paths:
                    _load_plugin(identifier=identifier, repository=repository, ref=ref, parameters=parameters, path=path, auth=auth)
            else:
                _load_plugin(identifier=identifier, repository=repository, ref=ref, parameters=parameters, auth=auth)

    logger.info("Plugins ready: {}".format(list(map(lambda p: p.identifier, _PLUGINS))))