Merge branch 'master' of ssh://git.kmlabz.com:2222/birbnetes/storage-service
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Pünkösd Marcell 2021-08-09 13:57:08 +02:00
commit 16543b72d8
5 changed files with 34 additions and 3 deletions

View File

@ -1,4 +1,4 @@
FROM python:3.8-slim FROM python:3.9-slim
ADD storage_service requirements.txt /storage_service/ ADD storage_service requirements.txt /storage_service/
WORKDIR /storage_service/ WORKDIR /storage_service/

View File

@ -6,4 +6,5 @@ marshmallow
Flask-Classful Flask-Classful
gunicorn gunicorn
sentry_sdk sentry_sdk
flask_minio flask_minio
py-healthcheck

View File

@ -3,9 +3,10 @@ import sentry_sdk
from sentry_sdk.integrations.flask import FlaskIntegration from sentry_sdk.integrations.flask import FlaskIntegration
from flask import Flask from flask import Flask
from werkzeug.middleware.proxy_fix import ProxyFix from werkzeug.middleware.proxy_fix import ProxyFix
from healthcheck import HealthCheck
# import stuff # import stuff
from utils import register_all_error_handlers, storage from utils import register_all_error_handlers, storage, health_database_status
# import views # import views
from views import ObjectView from views import ObjectView
@ -32,6 +33,8 @@ app.wsgi_app = ProxyFix(app.wsgi_app, x_proto=1)
# init stuff # init stuff
storage.init_app(app) storage.init_app(app)
health = HealthCheck()
# register error handlers # register error handlers
register_all_error_handlers(app) register_all_error_handlers(app)
@ -39,6 +42,9 @@ register_all_error_handlers(app)
for view in [ObjectView]: for view in [ObjectView]:
view.register(app, trailing_slash=False) view.register(app, trailing_slash=False)
health.add_check(health_database_status)
app.add_url_rule("/healthz", "healthcheck", view_func=lambda: health.run())
# start debugging if needed # start debugging if needed
if __name__ == "__main__": if __name__ == "__main__":
app.run(debug=True) app.run(debug=True)

View File

@ -2,3 +2,4 @@
from .require_decorators import json_required from .require_decorators import json_required
from .error_handlers import register_all_error_handlers from .error_handlers import register_all_error_handlers
from .storage import storage from .storage import storage
from .healthchecks import health_database_status

View File

@ -0,0 +1,23 @@
#!/usr/bin/env python3
from utils import storage
"""
Healthchek functions
"""
__author__ = "@tormakris"
__copyright__ = "Copyright 2020, Birbnetes Team"
__module_name__ = "healthchecks"
__version__text__ = "1"
def health_database_status():
is_database_working = True
output = 'storage is ok'
try:
storage.connection.list_buckets()
except Exception as e:
output = str(e)
is_database_working = False
return is_database_working, output