Coverage for volexport/config.py: 100%

19 statements  

« 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 

6 

7HomePath = Annotated[Path, AfterValidator(lambda v: v.expanduser())] 

8 

9 

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 

22 

23 

24config = Config() # type: ignore