Skip to content

Commit

Permalink
Removed github auth requirements in development mode
Browse files Browse the repository at this point in the history
Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>

Removed github auth requirements in development mode

Signed-off-by: AyishikD <[email protected]>
  • Loading branch information
AyishikD committed Sep 12, 2024
1 parent 4660f3c commit 0f03b26
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 10 deletions.
7 changes: 5 additions & 2 deletions src/teuthology_api/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

load_dotenv()

DEPLOYMENT = os.getenv("DEPLOYMENT")
DEPLOYMENT = os.getenv("DEPLOYMENT", "development")
SESSION_SECRET_KEY = os.getenv("SESSION_SECRET_KEY")
PULPITO_URL = os.getenv("PULPITO_URL")
PADDLES_URL = os.getenv("PADDLES_URL")
Expand All @@ -35,7 +35,10 @@ def read_root(request: Request):
allow_headers=["*"],
)

app.add_middleware(SessionMiddleware, secret_key=SESSION_SECRET_KEY)
if SESSION_SECRET_KEY:
app.add_middleware(SessionMiddleware, secret_key=SESSION_SECRET_KEY)
else:
log.warning("SESSION_SECRET_KEY is not set. Sessions are disabled.")
app.include_router(suite.router)
app.include_router(kill.router)
app.include_router(login.router)
Expand Down
17 changes: 12 additions & 5 deletions src/teuthology_api/routes/suite.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import logging

import os
from fastapi import APIRouter, HTTPException, Depends, Request

from teuthology_api.services.suite import run
Expand All @@ -14,14 +14,21 @@
responses={404: {"description": "Not found"}},
)


DEPLOYMENT = os.getenv("DEPLOYMENT", "development")
@router.post("/", status_code=200)
def create_run(
request: Request,
args: SuiteArgs,
access_token: str = Depends(get_token),
logs: bool = False,
):
args = args.model_dump(by_alias=True)
args["--user"] = get_username(request)
return run(args, logs, access_token)
try:
args = args.model_dump(by_alias=True)
args["--user"] = get_username(request)
return run(args, logs, access_token)
except HTTPException as exc:
log.error(f"HTTP exception occurred: {exc.detail}")
raise
except Exception as exc:
log.error(f"Unexpected error occurred: {repr(exc)}")
raise HTTPException(status_code=500, detail="An unexpected error occurred.")
10 changes: 7 additions & 3 deletions src/teuthology_api/services/helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,13 @@

PADDLES_URL = os.getenv("PADDLES_URL")
ARCHIVE_DIR = os.getenv("ARCHIVE_DIR")

DEPLOYMENT = os.getenv("DEPLOYMENT", "development")
log = logging.getLogger(__name__)


def logs_run(func, args):
"""
Run the command function in a seperate process (to isolate logs),
Run the command function in a separate process (to isolate logs),
and return logs printed during the execution of the function.
"""
_id = str(uuid.uuid4())
Expand Down Expand Up @@ -72,6 +72,8 @@ def get_username(request: Request):
"""
Get username from request.session
"""
if DEPLOYMENT == "development":
return "dev_user"
username = request.session.get("user", {}).get("username")
if username:
return username
Expand All @@ -87,6 +89,8 @@ def get_token(request: Request):
"""
Get access token from request.session
"""
if DEPLOYMENT == "development":
return {"access_token": "dev_token", "token_type": "bearer"}
token = request.session.get("user", {}).get("access_token")
if token:
return {"access_token": token, "token_type": "bearer"}
Expand All @@ -95,4 +99,4 @@ def get_token(request: Request):
status_code=401,
detail="You need to be logged in",
headers={"WWW-Authenticate": "Bearer"},
)
)

0 comments on commit 0f03b26

Please sign in to comment.