66"""
77
88from pathlib import Path
9- from typing import List , Optional
9+ from typing import Any , Dict , List , Optional
1010
11- from agentex .lib .sdk .config .environment_config import AgentEnvironmentsConfig
11+ from agentex .lib .sdk .config .environment_config import AgentEnvironmentsConfig , AgentEnvironmentConfig
1212from agentex .lib .utils .logging import make_logger
1313
1414logger = make_logger (__name__ )
@@ -43,7 +43,7 @@ def validate_environments_config(
4343 """
4444 # Check for required environments
4545 if required_environments :
46- missing_envs = []
46+ missing_envs : List [ str ] = []
4747 for env_name in required_environments :
4848 if env_name not in environments_config .environments :
4949 missing_envs .append (env_name )
@@ -65,7 +65,7 @@ def validate_environments_config(
6565 ) from e
6666
6767
68- def _validate_single_environment_config (env_name : str , env_config ) -> None :
68+ def _validate_single_environment_config (env_name : str , env_config : AgentEnvironmentConfig ) -> None :
6969 """
7070 Validate a single environment configuration.
7171
@@ -76,22 +76,21 @@ def _validate_single_environment_config(env_name: str, env_config) -> None:
7676 Raises:
7777 ValueError: If validation fails
7878 """
79- # Validate namespace naming conventions
80- namespace = env_config .kubernetes .namespace
81- if not namespace :
82- raise ValueError ("Kubernetes namespace cannot be empty" )
83-
84- # Check for common namespace naming issues
85- if namespace != namespace .lower ():
86- logger .warning (
87- f"Namespace '{ namespace } ' contains uppercase letters. "
88- "Kubernetes namespaces should be lowercase."
89- )
90-
91- if namespace .startswith ('-' ) or namespace .endswith ('-' ):
92- raise ValueError (
93- f"Namespace '{ namespace } ' cannot start or end with hyphens"
94- )
79+ # Validate namespace naming conventions if kubernetes config exists
80+ if env_config .kubernetes and env_config .kubernetes .namespace :
81+ namespace = env_config .kubernetes .namespace
82+
83+ # Check for common namespace naming issues
84+ if namespace != namespace .lower ():
85+ logger .warning (
86+ f"Namespace '{ namespace } ' contains uppercase letters. "
87+ "Kubernetes namespaces should be lowercase."
88+ )
89+
90+ if namespace .startswith ('-' ) or namespace .endswith ('-' ):
91+ raise ValueError (
92+ f"Namespace '{ namespace } ' cannot start or end with hyphens"
93+ )
9594
9695 # Validate auth principal
9796 principal = env_config .auth .principal
@@ -112,7 +111,7 @@ def _validate_single_environment_config(env_name: str, env_config) -> None:
112111 _validate_helm_overrides (env_config .helm_overrides )
113112
114113
115- def _validate_helm_overrides (helm_overrides : dict ) -> None :
114+ def _validate_helm_overrides (helm_overrides : Dict [ str , Any ] ) -> None :
116115 """
117116 Validate helm override configuration.
118117
@@ -130,7 +129,7 @@ def _validate_helm_overrides(helm_overrides: dict) -> None:
130129 if 'requests' in resources or 'limits' in resources :
131130 for resource_type in ['requests' , 'limits' ]:
132131 if resource_type in resources :
133- resource_config = resources [resource_type ]
132+ resource_config : Any = resources [resource_type ]
134133 if isinstance (resource_config , dict ):
135134 # Check for valid resource specifications
136135 for key , value in resource_config .items ():
0 commit comments