diff --git a/src/murfey/server/ispyb.py b/src/murfey/server/ispyb.py index ff9f09b7d..25a5454b0 100644 --- a/src/murfey/server/ispyb.py +++ b/src/murfey/server/ispyb.py @@ -2,7 +2,6 @@ import datetime import logging -import os from typing import Callable, List, Literal, Optional import ispyb @@ -31,9 +30,11 @@ url, ) +from murfey.util.config import get_security_config from murfey.util.models import FoilHoleParameters, GridSquareParameters, Sample, Visit log = logging.getLogger("murfey.server.ispyb") +security_config = get_security_config() try: Session = sqlalchemy.orm.sessionmaker( @@ -60,7 +61,11 @@ def __init__(self, transport_type: Literal["PikaTransport"]): self.transport = workflows.transport.lookup(transport_type)() self.transport.connect() self.feedback_queue = "" - self.ispyb = ispyb.open() if os.getenv("ISPYB_CREDENTIALS") else None + self.ispyb = ( + ispyb.open(credentials=security_config.ispyb_credentials) + if security_config.ispyb_credentials + else None + ) self._connection_callback: Callable | None = None def reconnect(self): diff --git a/src/murfey/util/config.py b/src/murfey/util/config.py index 00750c806..9bbf55259 100644 --- a/src/murfey/util/config.py +++ b/src/murfey/util/config.py @@ -83,8 +83,7 @@ def from_file(config_file_path: Path, instrument: str = "") -> Dict[str, Machine class Security(BaseModel): - rabbitmq_credentials: str - murfey_db_credentials: str + murfey_db_credentials: Path crypto_key: str auth_key: str = "" auth_algorithm: str = "" @@ -94,9 +93,11 @@ class Security(BaseModel): session_token_timeout: Optional[int] = None auth_type: Literal["password", "cookie"] = "password" cookie_key: str = "" + rabbitmq_credentials: Path feedback_queue: str = "murfey_feedback" graylog_host: str = "" graylog_port: Optional[int] = None + ispyb_credentials: Optional[Path] = None @validator("graylog_port") def check_port_present_if_host_is(