mirror of
https://github.com/mendableai/firecrawl.git
synced 2024-11-15 19:22:19 +08:00
Update Kubernetes configs for playwright-service, api, and worker
Added new ConfigMap for playwright-service and adjusted existing references. Applied imagePullPolicy: Always to ensure all images are updated promptly. Updated README to include --no-cache for Docker build instructions.
This commit is contained in:
parent
497aa5d25e
commit
be9e7f9edf
6
apps/api/src/controllers/liveness.ts
Normal file
6
apps/api/src/controllers/liveness.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import { Request, Response } from "express";
|
||||
|
||||
export async function livenessController(req: Request, res: Response) {
|
||||
//TODO: add checks if the application is live and healthy like checking the redis connection
|
||||
res.status(200).json({ status: "ok" });
|
||||
}
|
6
apps/api/src/controllers/readiness.ts
Normal file
6
apps/api/src/controllers/readiness.ts
Normal file
|
@ -0,0 +1,6 @@
|
|||
import { Request, Response } from "express";
|
||||
|
||||
export async function readinessController(req: Request, res: Response) {
|
||||
// TODO: add checks when the application is ready to serve traffic
|
||||
res.status(200).json({ status: "ok" });
|
||||
}
|
|
@ -7,6 +7,8 @@ import { crawlJobStatusPreviewController } from "../../src/controllers/status";
|
|||
import { searchController } from "../../src/controllers/search";
|
||||
import { crawlCancelController } from "../../src/controllers/crawl-cancel";
|
||||
import { keyAuthController } from "../../src/controllers/keyAuth";
|
||||
import {livenessController} from "../controllers/liveness";
|
||||
import {readinessController} from "../controllers/readiness";
|
||||
|
||||
export const v0Router = express.Router();
|
||||
|
||||
|
@ -23,3 +25,6 @@ v0Router.get("/v0/keyAuth", keyAuthController);
|
|||
// Search routes
|
||||
v0Router.post("/v0/search", searchController);
|
||||
|
||||
// Health/Probe routes
|
||||
v0Router.get("/v0/health/liveness", livenessController);
|
||||
v0Router.get("/v0/health/readiness", readinessController);
|
||||
|
|
|
@ -5,7 +5,7 @@ the HTML content of a specified URL. It supports optional proxy settings and med
|
|||
|
||||
from os import environ
|
||||
|
||||
from fastapi import FastAPI
|
||||
from fastapi import FastAPI, Response
|
||||
from fastapi.responses import JSONResponse
|
||||
from playwright.async_api import Browser, async_playwright
|
||||
from pydantic import BaseModel
|
||||
|
@ -39,14 +39,28 @@ async def shutdown_event():
|
|||
"""Event handler for application shutdown to close the browser."""
|
||||
await browser.close()
|
||||
|
||||
@app.get("/health/liveness")
|
||||
def liveness_probe():
|
||||
"""Endpoint for liveness probe."""
|
||||
return JSONResponse(content={"status": "ok"}, status_code=200)
|
||||
|
||||
|
||||
@app.get("/health/readiness")
|
||||
async def readiness_probe():
|
||||
"""Endpoint for readiness probe. Checks if the browser instance is ready."""
|
||||
if browser:
|
||||
return JSONResponse(content={"status": "ok"}, status_code=200)
|
||||
return JSONResponse(content={"status": "Service Unavailable"}, status_code=503)
|
||||
|
||||
|
||||
@app.post("/html")
|
||||
async def root(body: UrlModel):
|
||||
"""
|
||||
Endpoint to fetch and return HTML content of a given URL.
|
||||
|
||||
|
||||
Args:
|
||||
body (UrlModel): The URL model containing the target URL, wait time, and timeout.
|
||||
|
||||
|
||||
Returns:
|
||||
JSONResponse: The HTML content of the page.
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue
Block a user