feat(backend): SAP MCP 를 env 로 켜고 끄게 — 고객사 -12 에 별도 기동 절차
opencode.fabrix.json.tmpl 의 sap-icf 를 MCP_PORT/MCP_API_KEY 로 렌더, 키 없으면 enabled:false. .env.example 에 SAP_*·MCP_* 블록. README 에 -13 번들 재활용 절차(컨테이너 간 통신 금지라 -12 에 따로). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
72a06d6c07
commit
8571db5bee
@@ -17,9 +17,9 @@
|
||||
"mcp": {
|
||||
"sap-icf": {
|
||||
"type": "remote",
|
||||
"url": "{env:SAP_MCP_URL}",
|
||||
"headers": { "Authorization": "Bearer {env:SAP_MCP_KEY}" },
|
||||
"enabled": false
|
||||
"url": "http://127.0.0.1:${MCP_PORT}/mcp",
|
||||
"headers": { "Authorization": "Bearer ${MCP_API_KEY}" },
|
||||
"enabled": ${SAP_MCP_ENABLED}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ def load_env(path: Path) -> dict[str, str]:
|
||||
k, v = line.split("=", 1)
|
||||
v = v.split(" #", 1)[0].strip().strip("\"'") # 줄 끝 주석은 두 칸 띄고 #
|
||||
out[k.strip()] = v
|
||||
out.update({k: v for k, v in os.environ.items() if k.startswith(("AAF_", "BACKEND_PORT"))})
|
||||
out.update({k: v for k, v in os.environ.items() if k.startswith(("AAF_", "BACKEND_PORT", "MCP_"))})
|
||||
return out
|
||||
|
||||
|
||||
@@ -46,6 +46,10 @@ def render(env: dict[str, str]) -> str:
|
||||
values["AAF_FABRIX_MODELS_JSON"] = json.dumps({mid: {"name": name} for mid, name in models.items()}, ensure_ascii=False)
|
||||
values["AAF_FABRIX_DEFAULT_MODEL"] = next(iter(models))
|
||||
values.setdefault("BACKEND_PORT", "8001")
|
||||
values.setdefault("MCP_PORT", "8888")
|
||||
# SAP MCP: MCP_API_KEY 가 있으면 켬. 없으면 끔(로컬 개발)
|
||||
values["SAP_MCP_ENABLED"] = "true" if values.get("MCP_API_KEY") else "false"
|
||||
values.setdefault("MCP_API_KEY", "")
|
||||
values["AAF_GATEWAY_KEY"] = values.get("AAF_GATEWAY_KEY") or "x" # SDK 가 빈 키를 거부해서 더미
|
||||
missing: list[str] = []
|
||||
|
||||
|
||||
Reference in New Issue
Block a user