feat: Implement comprehensive database schema with new models, CRUD operations, and documentation for host metrics, Docker management, and terminal sessions, while removing old test files.
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled

This commit is contained in:
2026-03-05 10:16:13 -05:00
parent 121aab9d42
commit 984d06a223
72 changed files with 3781 additions and 501 deletions
+12 -1
View File
@@ -75,6 +75,9 @@ class Settings(BaseSettings):
jwt_algorithm: str = "HS256"
# === Database ===
db_engine: str = Field(
default_factory=lambda: os.environ.get("DB_ENGINE", "sqlite")
)
database_url: Optional[str] = Field(default=None)
@property
@@ -85,13 +88,21 @@ class Settings(BaseSettings):
return f"sqlite+aiosqlite:///{self.db_path}"
# === CORS ===
cors_origins: list = Field(
cors_origins: str | list = Field(
default_factory=lambda: [
o.strip() for o in os.environ.get(
"CORS_ORIGINS", "http://localhost:3000,http://localhost:8008"
).split(",") if o.strip()
]
)
@field_validator("cors_origins", mode="before")
@classmethod
def assemble_cors_origins(cls, v: object) -> list[str]:
if isinstance(v, str):
return [i.strip() for i in v.split(",") if i.strip()]
return v
cors_allow_credentials: bool = True
cors_allow_methods: list = Field(default=["*"])
cors_allow_headers: list = Field(default=["*"])