2521690 a0f7152e80 feat(mvp): 接入真实样板应用桥接并推进演示主线
- 新增 `sample-apps/order-service` Java 样板应用及 Win/Linux 构建、启停、状态脚本
- 新增 `LocalSampleAppService`,在 `software-a` 中支持 `order-service test` 本地桥接部署
- 增加桥接开关配置:`ENABLE_SAMPLE_APP_BRIDGE`、`SAMPLE_APP_ROOT`
- 修正后端配置读取方式,环境变量可在运行时生效(`Settings` 改为 `default_factory`)
- 更新应用元数据默认验证目标:`127.0.0.1:18080`、本地日志路径
- 新增桥接测试 `test_sample_app_bridge.py`,后端基线更新至 `24 passed`
- 更新 `.gitignore`,忽略样板应用 `build/runtime` 产物
- 更新 README 与《当前进度总结》:记录本轮“真实样板应用 + 桥接能力”进展,MVP 进度约 `97%`
2026-04-09 15:45:03 +08:00

27 lines
1021 B
Python

from __future__ import annotations
import os
from dataclasses import dataclass, field
from pathlib import Path
@dataclass(frozen=True)
class Settings:
app_name: str = "smart-deploy-agent-demo"
app_env: str = field(default_factory=lambda: os.getenv("APP_ENV", "demo"))
app_port: int = field(default_factory=lambda: int(os.getenv("APP_PORT", "8000")))
default_timezone: str = field(default_factory=lambda: os.getenv("DEFAULT_TIMEZONE", "Asia/Shanghai"))
database_url: str = field(default_factory=lambda: os.getenv("DATABASE_URL", "sqlite:///./data/agent_demo.db"))
enable_sample_app_bridge: bool = field(
default_factory=lambda: os.getenv("ENABLE_SAMPLE_APP_BRIDGE", "false").lower() in {"1", "true", "yes", "on"}
)
sample_app_root: str = field(default_factory=lambda: os.getenv("SAMPLE_APP_ROOT", "sample-apps/order-service"))
def get_settings() -> Settings:
return Settings()
def ensure_runtime_directories() -> None:
Path("data").mkdir(parents=True, exist_ok=True)