diff --git a/pyproject.toml b/pyproject.toml index 477a4762..4d848333 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ krr = "robusta_krr.main:run" python = ">=3.9,<=3.12.3" typer = { extras = ["all"], version = "^0.7.0" } pydantic = "^1.10.7" +pydantic-settings = "^2.0.0" kubernetes = "^26.1.0" prometheus-api-client = "0.5.3" numpy = ">=1.26.4,<1.27.0" diff --git a/robusta_krr/core/models/config.py b/robusta_krr/core/models/config.py index 6ad5804c..7f70914d 100644 --- a/robusta_krr/core/models/config.py +++ b/robusta_krr/core/models/config.py @@ -5,6 +5,7 @@ from typing import Any, Literal, Optional, Union import pydantic as pd +import pydantic_settings as pds from kubernetes import config from kubernetes.config.config_exception import ConfigException from rich.console import Console @@ -17,7 +18,7 @@ logger = logging.getLogger("krr") -class Config(pd.BaseSettings): +class Config(pds.BaseSettings): quiet: bool = pd.Field(False) verbose: bool = pd.Field(False) @@ -61,7 +62,7 @@ class Config(pd.BaseSettings): # Output Settings file_output: Optional[str] = pd.Field(None) - file_output_dynamic = bool = pd.Field(False) + file_output_dynamic: bool = pd.Field(False) slack_output: Optional[str] = pd.Field(None) other_args: dict[str, Any] diff --git a/robusta_krr/main.py b/robusta_krr/main.py index dd9ee03b..9ec21142 100644 --- a/robusta_krr/main.py +++ b/robusta_krr/main.py @@ -306,10 +306,10 @@ def run_strategy( default=OptionInfo( default=field_meta.default, param_decls=list(set([f"--{field_name}", f"--{field_name.replace('_', '-')}"])), - help=f"{field_meta.field_info.description}", + help=f"{field_meta.description}", rich_help_panel="Strategy Settings", ), - annotation=__process_type(field_meta.type_), + annotation=__process_type(field_meta.annotation), ) for field_name, field_meta in strategy_type.get_settings_type().__fields__.items() ]