Skip to content

Commit

Permalink
Add /healthz and /info endpoints
Browse files Browse the repository at this point in the history
  • Loading branch information
ppietruszewski-consult-red committed Dec 4, 2023
1 parent 8022d49 commit 5e7abbf
Show file tree
Hide file tree
Showing 5 changed files with 54 additions and 3 deletions.
13 changes: 13 additions & 0 deletions bundlegen/rabbitmq/app.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from flask import Flask
from info import Info

app = Flask(__name__)
app_info = Info()

@app.route("/healthz")
def healthz() -> str:
return 'OK'

@app.route('/info')
def info():
return app_info.get()
29 changes: 29 additions & 0 deletions bundlegen/rabbitmq/info.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from datetime import datetime
import os
import socket

class Info:
"""Get information about service"""

def __init__(self) -> None:
"""Read info"""
self.app_start_time = datetime.utcnow()
self.host_name = socket.gethostname()
self.app_branch = os.getenv("APP_BRANCH", "undefined")
self.app_name = os.getenv("APP_NAME", "undefined")
self.app_build_time = os.getenv("APP_BUILD_TIME", "undefined")
self.app_version = os.getenv("APP_VERSION", "undefined")
self.stack_name = os.getenv("STACK_NAME", "undefined")
self.app_revision = os.getenv("APP_REVISION", "undefined")

def get(self) -> dict:
info = {}
info['APP_START_TIME'] = self.app_start_time.strftime('%Y-%m-%dT%H:%M:%SZ')
info['HOST_NAME'] = self.host_name
info['APP_BRANCH'] = self.app_branch
info['APP_NAME'] = self.app_name
info['APP_BUILD_TIME'] = self.app_build_time
info['APP_VERSION'] = self.app_version
info['STACK_NAME'] = self.stack_name
info['APP_REVISION'] = self.app_revision
return info
2 changes: 1 addition & 1 deletion docker/rabbitmq/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -53,4 +53,4 @@ RUN cd ./bundlegen && \
WORKDIR /home/bundlegenuser/bundlegen

# Start BundleGen consumer
ENTRYPOINT [ "bundlegen-rabbitmq", "-vv", "start" ]
ENTRYPOINT [ "./entrypoint.sh" ]
7 changes: 7 additions & 0 deletions entrypoint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -e

echo "Starting Gunicorn with Flask application"
gunicorn --bind 0.0.0.0:8081 --chdir /home/bundlegenuser/bundlegen/bundlegen/rabbitmq app:app --daemon

bundlegen-rabbitmq -vv start
6 changes: 4 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
autopep8==1.5.3
click==7.1.2
click>=8.1.3
humanfriendly==8.2
loguru==0.5.1
msgpack==1.0.2
pika==1.2.0
python-dotenv==0.18.0
jsonschema
jsonschema
gunicorn>=3.5
flask~=3.0.0

0 comments on commit 5e7abbf

Please sign in to comment.