• Stefy Lanza (nextime / spora )'s avatar
    runpod: make a seeded pod actually serve its models, and survive a restart · d7309ad5
    Stefy Lanza (nextime / spora ) authored
    Two bugs, both found by the first end-to-end embeddings test on a rented pod.
    
    A capability image's entrypoint is `uvicorn codai.api.app:app` — it never runs
    codai/main.py, so set_config_manager() was never called and
    codai.admin.routes.config_manager stayed None. Both the CODERAI_SEED_MODELS list
    and the runtime catalogue write read through that global, so a pod seeded with
    one model answered "not available. Use one of: " with nothing after the colon.
    The lifespan now builds its own ConfigManager when none was set — loading it is
    what parses the seed list — and says how many seeds it registered.
    
    The bearer token a pool launches its pods with is generated in memory when none
    is configured. A pod that outlived the process that rented it was then adopted
    with a DIFFERENT token and answered 401 for the rest of its paid life (the test
    run reported serves: "(HTTP 401)"). The token is now recorded in the shared pod
    registry and adopted along with the pod.
    
    Verified live: bge-m3 on a rented RTX 2000 Ada returned a real 1024-dimension
    embedding, 67.9s cold.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
    d7309ad5
runpod_worker.py 99.6 KB