diff --git a/peikarband/peikarband/peikarband.py b/peikarband/peikarband/peikarband.py index 5b3c524..ffa573b 100644 --- a/peikarband/peikarband/peikarband.py +++ b/peikarband/peikarband/peikarband.py @@ -5,8 +5,54 @@ This is the main application file that Reflex uses to run the app. """ import reflex as rx -# Import the app that is already created in index.py -from src.presentation.web.pages.landing.index import app +from src.presentation.web.pages.landing.index import index +from src.presentation.api.routes.health import ( + ping_endpoint, + health_endpoint, + ready_endpoint, + live_endpoint, +) -# The app is already fully configured in index.py with all pages and routes -# No need to add additional pages here \ No newline at end of file +# Create the app +app = rx.App() + +# Add landing page +app.add_page(index, route="/") + +# Add health check pages (for Kubernetes probes) +# These return JSON responses for monitoring +@rx.page(route="/ping") +def ping(): + """Basic health check endpoint""" + data = ping_endpoint() + return rx.box( + rx.text(str(data)), + style={"whiteSpace": "pre"} + ) + +@rx.page(route="/health") +def health(): + """Detailed health check endpoint""" + data = health_endpoint() + return rx.box( + rx.text(str(data)), + style={"whiteSpace": "pre"} + ) + +@rx.page(route="/ready") +def ready(): + """Readiness probe endpoint""" + data = ready_endpoint() + return rx.box( + rx.text(str(data)), + style={"whiteSpace": "pre"} + ) + +@rx.page(route="/live") +def live(): + """Liveness probe endpoint""" + data = live_endpoint() + return rx.box( + rx.text(str(data)), + style={"whiteSpace": "pre"} + ) \ No newline at end of file