Coverage for volexport/config.py: 100%
19 statements
« prev ^ index » next coverage.py v7.10.4, created at 2025-08-20 14:19 +0000
« prev ^ index » next coverage.py v7.10.4, created at 2025-08-20 14:19 +0000
1import os
2from pathlib import Path
3from typing_extensions import Annotated
4from pydantic import AfterValidator
5from pydantic_settings import BaseSettings, SettingsConfigDict
7HomePath = Annotated[Path, AfterValidator(lambda v: v.expanduser())]
10class Config(BaseSettings):
11 model_config = SettingsConfigDict(env_prefix="VOLEXP_", env_file=os.getenv("VOLEXP_ENV_FILE"))
12 VG: str
13 BECOME_METHOD: str = "sudo"
14 TGTADM_BIN: str = "tgtadm"
15 TGT_BSTYPE: str = "rdwr"
16 TGT_BSOPTS: str | None = None
17 TGT_BSOFLAGS: str | None = None
18 LVM_BIN: str | None = None
19 NICS: list[str]
20 IQN_BASE: str = "iqn.2025-08.com.github.wtnb75"
21 CMD_TIMEOUT: float = 10.0
24config = Config() # type: ignore