feat(appliance): initial release of MERICA standalone appliance v1.0.0

This commit is contained in:
2026-10-21 17:16:46 +07:00
commit 851be0cda7
144 changed files with 31135 additions and 0 deletions
+58
View File
@@ -0,0 +1,58 @@
from pydantic import BaseModel, Field
from typing import Dict, Any, Optional, List
class BundleItem(BaseModel):
name: str
tracking_ref: str
repo_url: str
subdir: str
type: str = "git"
class BundleListResponse(BaseModel):
bundles: List[BundleItem]
class SitomatProvisionRequest(BaseModel):
dataset_id: str
bundle_name: Optional[str] = "dlh-core-ingestion"
source_type: str = Field(..., description="database | gws | api")
connection_id: str
source_config: Dict[str, Any] = Field(default_factory=dict)
bronze_target: Optional[Dict[str, Any]] = Field(default_factory=lambda: {
"s3_bucket": "dlh-landing",
"s3_prefix": "bronze/raw/"
})
dbt_models: Optional[Dict[str, str]] = Field(default_factory=dict)
schedule: Optional[str] = "0 2 * * *"
class SitomatProvisionResponse(BaseModel):
status: str = "provisioned"
dataset_id: str
bundle_name: str
bronze_dag_id: str
transform_dag_id: str
initial_version: str
git_commit_hash: Optional[str] = None
yaml_config_path: Optional[str] = None
class SitomatTriggerRequest(BaseModel):
correlation_id: str
dataset_id: str
target_dag_version: Optional[str] = "latest"
conf: Optional[Dict[str, Any]] = Field(default_factory=dict)
class SitomatTriggerResponse(BaseModel):
status: str = "triggered"
correlation_id: str
dag_id: str
dag_run_id: str
pinned_version: str
class SitomatLedgerCallback(BaseModel):
correlation_id: str
dataset_id: str
dag_id: str
dag_run_id: str
status: str
bronze_ref: Optional[str] = None
record_count: Optional[int] = 0
byte_size: Optional[int] = 0