X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=o2app%2Fentrypoints%2Fflask_application.py;h=c1f5c8ace59e6f3fcbdf217252dba669fd1be56f;hb=refs%2Fchanges%2F30%2F9430%2F3;hp=55385c257e318f4a1c094fa9f6840c734c663364;hpb=defe8209b3628593c186487857fe02586d7e1503;p=pti%2Fo2.git diff --git a/o2app/entrypoints/flask_application.py b/o2app/entrypoints/flask_application.py index 55385c2..c1f5c8a 100644 --- a/o2app/entrypoints/flask_application.py +++ b/o2app/entrypoints/flask_application.py @@ -1,4 +1,4 @@ -# Copyright (C) 2021 Wind River Systems, Inc. +# Copyright (C) 2021-2022 Wind River Systems, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -15,19 +15,48 @@ from flask import Flask from flask_restx import Api + from o2app import bootstrap from o2ims.views import configure_namespace as ims_route_configure_namespace -from o2dms.api import configure_namespace as dms_route_configure_namespace +from o2ims.adapter.clients.alarm_dict_client import load_alarm_definition +from o2common.authmw import authmiddleware +from o2common.authmw import authprov +from o2common.config.config import get_review_url +from o2common.helper import o2logging # apibase = config.get_o2ims_api_base() +auth = True app = Flask(__name__) +logger = o2logging.get_logger(__name__) + + +def _get_k8s_url(): + try: + token_review_url = get_review_url() + return token_review_url + except Exception: + raise Exception('Get k8s token review url failed') + + +FLASK_API_VERSION = '1.0.0' + +if auth: + # perform service account identity&privilege check. + _get_k8s_url() + ad = authprov.auth_definer('ad') + ad.sanity_check() + app.wsgi_app = authmiddleware.authmiddleware(app.wsgi_app) + app.config.SWAGGER_UI_DOC_EXPANSION = 'list' -api = Api(app, version='1.0.0', +# app.config['RESTX_MASK_HEADER'] = 'fields' +app.config['RESTX_MASK_SWAGGER'] = False +api = Api(app, version=FLASK_API_VERSION, title='INF O2 Services API', description='Swagger OpenAPI document for the INF O2 Services', ) bus = bootstrap.bootstrap() ims_route_configure_namespace(api) -dms_route_configure_namespace(api) + +load_alarm_definition(bus.uow)