Skip to content

Commit

Permalink
chore(agents-api): Add /healthz endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
HamadaSalhab committed Dec 19, 2024
1 parent 1d4b2c8 commit 62fb581
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 2 deletions.
3 changes: 3 additions & 0 deletions agents-api/agents_api/routers/healthz/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# ruff: noqa: F401
from .check_health import check_health
from .router import router
18 changes: 18 additions & 0 deletions agents-api/agents_api/routers/healthz/check_health.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
from uuid import UUID

from ...autogen.openapi_model import Agent, ListResponse
from ...models.agent.list_agents import list_agents as list_agents_query
from .router import router


@router.get("/healthz", tags=["healthz"])
async def check_health() -> dict:
try:
# Check if the database is reachable
agents = list_agents_query(
developer_id=UUID("00000000-0000-0000-0000-000000000000"),
)
except Exception as e:
return {"status": "error", "message": str(e)}

Check warning

Code scanning / CodeQL

Information exposure through an exception Medium

Stack trace information
flows to this location and may be exposed to an external user.

return {"status": "ok"}
3 changes: 3 additions & 0 deletions agents-api/agents_api/routers/healthz/router.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from fastapi import APIRouter

router: APIRouter = APIRouter()
2 changes: 2 additions & 0 deletions agents-api/agents_api/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
sessions,
tasks,
users,
healthz,
)

if not sentry_dsn:
Expand Down Expand Up @@ -188,6 +189,7 @@ async def scalar_html():
app.include_router(docs.router, dependencies=[Depends(get_api_key)])
app.include_router(tasks.router, dependencies=[Depends(get_api_key)])
app.include_router(internal.router)
app.include_router(healthz.router)

# TODO: CORS should be enabled only for JWT auth
#
Expand Down
13 changes: 11 additions & 2 deletions gateway/traefik.yml.template
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,17 @@ http:
middlewares:
- agents-api-strip-prefix-api
service: service-agents-api
priority: 2

priority: 2

agents-api-healthz:
entryPoints:
- web
rule: Path(`/api/healthz`)
middlewares:
- agents-api-strip-prefix-api
service: service-agents-api
priority: 3

agents-api-redirect-to-docs:
entryPoints:
- web
Expand Down

0 comments on commit 62fb581

Please sign in to comment.