From 32d31ae8d1ef5d5aeb03a7fe7e6a294e14905505 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Fri, 20 Dec 2024 13:21:43 -0500 Subject: Build and deploy storybook I put the storybook into a new Biz.nix deploy target. The idea here is that any Biz/* targets should be hosted by this one VM for simplicity. Over time I can grow this as need be, but this should work to host a few services. --- Biz/Storybook.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'Biz/Storybook.py') diff --git a/Biz/Storybook.py b/Biz/Storybook.py index 80f746a..c29d9f5 100644 --- a/Biz/Storybook.py +++ b/Biz/Storybook.py @@ -45,9 +45,11 @@ import unittest import uuid import uvicorn -VPN = True CODEROOT = pathlib.Path(os.getenv("CODEROOT", ".")) -DATA_DIR = pathlib.Path(CODEROOT / "_/var/storybook/") +DATA_DIR = pathlib.Path( + os.environ.get("DATA_DIR", CODEROOT / "_/var/storybook/"), +) +PORT = int(os.environ.get("PORT", "3000")) class Area(enum.Enum): @@ -89,15 +91,16 @@ def main() -> None: def move(area: Area) -> None: """Run the application.""" - Log.setup(logging.DEBUG if area.Test else logging.ERROR) + Log.setup(logging.DEBUG if area == Area.Test else logging.ERROR) logging.info("area: %s", area) - host = "100.127.197.132" if VPN else "127.0.0.1" - uvicorn.run(app, host=host) + # during test, bind to beryllium's VPN address, else localhost + host = "100.127.197.132" if area == Area.Test else "127.0.0.1" + uvicorn.run(app, host=host, port=PORT) def test(area: Area = Area.Test) -> None: """Run the unittest suite manually.""" - Log.setup(logging.DEBUG if area.Test else logging.ERROR) + Log.setup(logging.DEBUG if area == Area.Test else logging.ERROR) suite = unittest.TestSuite() tests = [IndexTest, StoryTest] suite.addTests([ -- cgit v1.2.3