Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,14 @@ class DeprecatedFileS3ConnectorSettings(DeprecatedConnectorSettingsBase):
# This means that the value must be set explicitly to preserve caches between restarts and instances


class _RootSettings(dl_settings.BaseRootSettings):
S3_ENDPOINT_URL: str = NotImplemented
FILE_UPLOADER_S3_PERSISTENT_BUCKET_NAME: str = NotImplemented


class FileS3ConnectorSettingsBase(dl_settings.BaseSettings):
model_config = pydantic.ConfigDict(alias_generator=dl_settings.prefix_alias_generator("CONN_FILE_"))

SECURE: bool = True
HOST: str
PORT: int = 8443
Expand All @@ -38,9 +45,17 @@ class FileS3ConnectorSettingsBase(dl_settings.BaseSettings):

S3_ACCESS_KEY_ID: str = pydantic.Field(repr=False)
S3_SECRET_ACCESS_KEY: str = pydantic.Field(repr=False)
S3_ENDPOINT: str
S3_BUCKET: str

REPLACE_SECRET_SALT: str = pydantic.Field(repr=False, default_factory=lambda: str(uuid.uuid4()))
# ^ Note that this is used in a query, which, in turn, is used in a cache key at the moment
# This means that the value must be set explicitly to preserve caches between restarts and instances

root: _RootSettings = pydantic.Field(default_factory=_RootSettings)

@property
def S3_ENDPOINT(self) -> str:
return self.root.S3_ENDPOINT_URL

@property
def BUCKET(self) -> str:
return self.root.FILE_UPLOADER_S3_PERSISTENT_BUCKET_NAME
3 changes: 3 additions & 0 deletions lib/dl_connector_chyt/dl_connector_chyt/core/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
)

import attr
import pydantic
import pydantic_settings

from dl_configs.connectors_settings import DeprecatedConnectorSettingsBase
Expand Down Expand Up @@ -65,6 +66,8 @@ class CHYTConnectorSettings(ConnectorSettings, DatasourceTemplateSettingsMixin):

type: str = CONNECTION_TYPE_CHYT.value

model_config = pydantic.ConfigDict(alias_generator=dl_settings.prefix_alias_generator("CONN_CHYT_"))

PUBLIC_CLIQUES: Annotated[
tuple[str, ...],
dl_settings.split_validator(","),
Expand Down
1 change: 1 addition & 0 deletions lib/dl_connector_chyt/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ dl-sqlalchemy-chyt = {path = "../dl_sqlalchemy_chyt"}
dl-type-transformer = {path = "../dl_type_transformer"}
dl-utils = {path = "../dl_utils"}
marshmallow = "*"
pydantic = "*"
pydantic-settings = "*"
python = ">=3.10, <3.13"
sqlalchemy = "*"
Expand Down
Loading