]> git.ipfire.org Git - pbs.git/commitdiff
api: Process system information submitted by builders
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 1 Jul 2025 08:26:37 +0000 (08:26 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 1 Jul 2025 08:26:37 +0000 (08:26 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/api/builders.py

index f228b7446c9887fc02a99071f41b788619914e21..daaf13dc17c58bdb12826db7c9ffc99ab2b3f591 100644 (file)
@@ -38,6 +38,9 @@ async def get():
 
 @router.websocket("/control")
 async def control(websocket: fastapi.WebSocket,
+               arch: str, version: str, os_name: str = None,
+               cpu_model: str = None, cpu_count: int = None,
+               sys_vendor: str = None, sys_name: str = None,
                builder = fastapi.Depends(auth.get_current_principal)):
        # Close the connection is something else but a builder has connected
        if not isinstance(builder, builders.Builder):
@@ -49,8 +52,23 @@ async def control(websocket: fastapi.WebSocket,
        # Accept the connection
        await websocket.accept()
 
-       # The builder is now connected
        async with backend.db as session:
+               # Update arch
+               builder.arch = arch
+
+               # Update system information
+               builder.sys_vendor = sys_vendor
+               builder.sys_name   = sys_name
+
+               # Update CPU information
+               builder.cpu_model  = cpu_model
+               builder.cpu_count  = cpu_count
+
+                # Update Pakfire & OS information
+               builder.version    = version
+               builder.os_name    = os_name
+
+               # The builder is now connected
                builder.connected(websocket, address=address)
 
        try: