"""Server entrypoint shim for OpenEnv CLI workflows.""" from __future__ import annotations import argparse import os import uvicorn from app.common.config import load_project_env from app.env.fastapi_app import app load_project_env() def main(host: str | None = None, port: int | None = None) -> None: bind_host = host or os.getenv("POLYGUARD_ENV_HOST", "0.0.0.0") bind_port = int(port if port is not None else os.getenv("POLYGUARD_ENV_PORT", "8100")) uvicorn.run("app.env.fastapi_app:app", host=bind_host, port=bind_port, reload=False) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Run POLYGUARD OpenEnv server") parser.add_argument("--host", default=os.getenv("POLYGUARD_ENV_HOST", "0.0.0.0")) parser.add_argument("--port", type=int, default=int(os.getenv("POLYGUARD_ENV_PORT", "8100"))) args = parser.parse_args() os.environ["POLYGUARD_ENV_HOST"] = args.host os.environ["POLYGUARD_ENV_PORT"] = str(args.port) main()