Initial public ModelForge release
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
from pathlib import Path
|
||||
from typing import Literal
|
||||
|
||||
from pydantic import Field, SecretStr
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
|
||||
class AgentSettings(BaseSettings):
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="MODELFORGE_AGENT_", env_file=".env", extra="ignore"
|
||||
)
|
||||
|
||||
control_plane_url: str = "http://api:8000"
|
||||
enrollment_token: SecretStr | None = None
|
||||
identity: str | None = None
|
||||
identity_mode: str = "auto"
|
||||
accelerator_mode: Literal["auto", "nvidia", "cpu"] = "auto"
|
||||
identity_file: Path = Path("/data/state/node-id")
|
||||
credential_file: Path = Path("/data/state/node-credential")
|
||||
state_file: Path = Path("/data/state/agent-state.json")
|
||||
display_name: str | None = None
|
||||
heartbeat_interval_seconds: int = Field(default=10, ge=1)
|
||||
inventory_interval_seconds: int = Field(default=300, ge=5)
|
||||
telemetry_interval_seconds: int = Field(default=30, ge=5)
|
||||
request_timeout_seconds: float = Field(default=10, gt=0)
|
||||
max_backoff_seconds: int = Field(default=60, ge=1)
|
||||
tls_verify: bool = True
|
||||
model_cache_path: Path = Path("/data/hf-cache")
|
||||
artifact_path: Path = Path("/data/artifacts")
|
||||
quarantine_path: Path = Path("/data/quarantine")
|
||||
hf_token: SecretStr | None = None
|
||||
artifact_job_poll_interval_seconds: int = Field(default=5, ge=1, le=60)
|
||||
artifact_download_timeout_seconds: float = Field(default=120, gt=0, le=600)
|
||||
Reference in New Issue
Block a user