mirror of
https://github.com/peridotbuild/mothership.git
synced 2024-09-16 18:12:36 +00:00
36 lines
951 B
Python
36 lines
951 B
Python
|
from contextlib import asynccontextmanager
|
||
|
from base64 import b64encode
|
||
|
|
||
|
from fastapi import FastAPI
|
||
|
from fastapi_pagination import add_pagination
|
||
|
|
||
|
import rekor_sdk
|
||
|
|
||
|
from mothership.db import new_engine
|
||
|
from mothership_coordinator.route_upload_srpm import router as upload_srpm_router
|
||
|
from mothership_coordinator.route_entries import router as entries_router
|
||
|
|
||
|
|
||
|
@asynccontextmanager
|
||
|
async def lifespan(app: FastAPI):
|
||
|
rekor_conf = rekor_sdk.Configuration()
|
||
|
rekor_conf.host = "http://localhost:3000"
|
||
|
entries_api = rekor_sdk.EntriesApi(rekor_sdk.ApiClient(rekor_conf))
|
||
|
app.state.entries_api = entries_api
|
||
|
|
||
|
with open("data/rh_public_key.asc", "rb") as f:
|
||
|
app.state.public_key = b64encode(f.read()).decode()
|
||
|
|
||
|
engine = new_engine()
|
||
|
app.state.db = engine
|
||
|
yield
|
||
|
await engine.dispose()
|
||
|
|
||
|
|
||
|
app = FastAPI(lifespan=lifespan)
|
||
|
|
||
|
app.include_router(upload_srpm_router)
|
||
|
app.include_router(entries_router)
|
||
|
|
||
|
add_pagination(app)
|