US08-01: Make the Trust Boundary Configurable and Authenticated

This commit is contained in:
2026-08-18 21:58:53 +02:00
parent ded83178bd
commit a7a5e6d63e
10 changed files with 626 additions and 13 deletions

View File

@@ -209,15 +209,25 @@ def main(argv: Sequence[str] | None = None) -> int:
lock.release()
return 0
import sys
import uvicorn
from photo_pipeline.api.app import create_app
from photo_pipeline.api.app import ConfigurationRefused, create_app
# An exposed deployment without an access secret must not reach the port at all,
# and the operator needs a sentence, not a traceback (US08-01).
try:
app = create_app(config)
except ConfigurationRefused as error:
print(str(error), file=sys.stderr)
return 4
lock = LibraryLock(config, "api")
if (held := _acquire(lock, allow_legacy=args.allow_legacy)) is not None:
return held
try:
uvicorn.run(create_app(config), host=config.host, port=config.port)
uvicorn.run(app, host=config.host, port=config.port)
finally:
lock.release()
return 0