diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c5ef2c..6b3087b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - ⏰ β€” Set recurring task to every minute - πŸ”Š β€” Improve check agent log - πŸ”’οΈ β€” Logging out now invalidate tokens +- πŸ“ β€” Improve OpenAPI doc ## 0.9.0 diff --git a/argos/server/main.py b/argos/server/main.py index 1ca82e2..b9b9f3f 100644 --- a/argos/server/main.py +++ b/argos/server/main.py @@ -10,6 +10,7 @@ from psutil import Process from sqlalchemy import create_engine, event from sqlalchemy.orm import sessionmaker +from argos import VERSION from argos.logging import logger, set_log_level from argos.server import models, routes, queries from argos.server.alerting import no_agent_alert @@ -30,7 +31,17 @@ def get_application() -> FastAPI: root_path = root_path[:-1] logger.info("Fixed root path for Argos: %s", root_path) - appli = FastAPI(lifespan=lifespan, root_path=root_path) + appli = FastAPI( + title="Argos PanoptΓ¨s", + summary="A monitoring and status board for websites.", + version=VERSION, + license_info={ + "name": "GNU Affero General Public License v3", + "url": "https://www.gnu.org/licenses/agpl-3.0.en.html", + }, + lifespan=lifespan, + root_path=root_path, + ) # Config is the argos config object (built from yaml) appli.state.config = config diff --git a/argos/server/routes/views.py b/argos/server/routes/views.py index 49da12c..b79fcb1 100644 --- a/argos/server/routes/views.py +++ b/argos/server/routes/views.py @@ -33,7 +33,7 @@ templates = Jinja2Templates(directory=current_dir / ".." / "templates") SEVERITY_LEVELS = {"ok": 1, "warning": 2, "critical": 3, "unknown": 4} -@route.get("/login") +@route.get("/login", include_in_schema=False) async def login_view( request: Request, msg: str | None = None, @@ -72,7 +72,7 @@ async def login_view( ) -@route.post("/login") +@route.post("/login", include_in_schema=False) async def post_login( request: Request, db: Session = Depends(get_db), @@ -122,7 +122,7 @@ async def post_login( return response -@route.get("/logout") +@route.get("/logout", include_in_schema=False) async def logout_view( request: Request, config: Config = Depends(get_config), @@ -145,7 +145,7 @@ async def logout_view( return response -@route.get("/") +@route.get("/", include_in_schema=False) async def get_severity_counts_view( request: Request, user: User | None = Depends(get_manager), @@ -171,7 +171,7 @@ async def get_severity_counts_view( ) -@route.get("/domains") +@route.get("/domains", include_in_schema=False) async def get_domains_view( request: Request, user: User | None = Depends(get_manager), @@ -228,7 +228,7 @@ async def get_domains_view( ) -@route.get("/domain/{domain}") +@route.get("/domain/{domain}", include_in_schema=False) async def get_domain_tasks_view( request: Request, domain: str, @@ -253,7 +253,7 @@ async def get_domain_tasks_view( ) -@route.get("/result/{result_id}") +@route.get("/result/{result_id}", include_in_schema=False) async def get_result_view( request: Request, result_id: int, @@ -278,7 +278,7 @@ async def get_result_view( ) -@route.get("/task/{task_id}/results") +@route.get("/task/{task_id}/results", include_in_schema=False) async def get_task_results_view( request: Request, task_id: int, @@ -314,7 +314,7 @@ async def get_task_results_view( ) -@route.get("/agents") +@route.get("/agents", include_in_schema=False) async def get_agents_view( request: Request, user: User | None = Depends(get_manager), @@ -342,7 +342,7 @@ async def get_agents_view( ) -@route.post("/refresh") +@route.post("/refresh", include_in_schema=False) async def set_refresh_cookies_view( request: Request, user: User | None = Depends(get_manager),