Commit Graph

26 Commits

Author SHA1 Message Date
d1d93f7dc9 GitOps 이전까지 쓸 배포 파이프라인과 Portal 모드 Chart를 추가한다
GitOps 저장소도 ArgoCD Application도 아직 없어, 그때까지 이 저장소가
push 방식 파이프라인(.gitea/workflows/)을 임시로 소유한다. 무엇을
포기하는지와 넘길 때 할 일은 deploy/README.md에 적었다.

Chart는 portal과 bundles 두 배포 모델을 모두 렌더링한다. ADR-0013이
ADR-0007을 대체했으므로 운영은 portal이 기준이지만, bundles 경로를
언제 삭제할지는 아직 정하지 않았다.

- .gitea/workflows/ci.yaml, deploy-openshift.yaml
- deploy/ci/render-manifests.sh, deploy/examples/
- Chart: mode 분기, selectedDeployment/tier helper, imagePullSecrets,
  toolService.apiKeySecret 참조
- extension-points.md에 미결 항목 9~12 추가

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 11:02:36 +09:00
b79a10a451 에이전트 도구의 로컬 상태 파일을 gitignore에 추가한다
.ua/와 skills-lock.json은 에이전트 도구가 로컬에 만드는 상태 파일이다.
개발자마다 내용이 달라지고 저장소가 소유할 이유가 없는데 미추적으로
git status에 계속 남아, 실제 변경을 가렸다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 23:40:14 +09:00
cb29b192b4 docs를 저장소로 되돌리고 계약 예제를 복원한다
5cfb8a1이 .gitignore에 docs/를 넣고 68개 파일을 지웠다. 그런데
AgentBuilderContractExampleTest, ToolBundleContractExampleTest,
ArchitectureDocumentContractTest는 docs/ 아래 계약 예제와 architecture
문서를 입력으로 직접 읽는다. 그 결과 clean clone에서 테스트 10건이
입력을 찾지 못해 실패했다.

제외 범위를 원래 의도대로 좁힌다. 에이전트 산출물(AGENTS.md, .agents/,
.codex/, docs/superpowers/)은 계속 제외하고 저장소 문서는 추적한다.

문서는 삭제 직전 상태(3de052a)를 기준으로 복원하고, 그 위에 main 코드와
대조해 어긋난 부분을 고쳤다.

- ADR-0007을 Superseded로 바꾸고 ADR-0013을 새로 쓴다. route당 Tool
  Service N개가 최종안이며, PortalToolRegistryClient가 이미 route별로
  N개를 유지하고 있는데 ADR-0007은 "bundles는 항상 한 항목"을 Accepted
  상태로 주장하고 있었다. ADR-0009 결정 4도 부분 대체한다.
- ADR-0008 파일 헤더가 Accepted였으나 ADR-0009가 이미 대체한 상태였다.
- 6078852의 endpoint 소유권 반전이 반영되지 않은 서술을 계약 v0.2,
  bundle 설정 예제, Tool 적재 안내에서 고친다.
- Portal registry 계약 v0.1과 route key 규약을 새로 문서화한다. 둘 다
  구현은 있는데 계약 문서가 없었다.
- MCP SDK 2.0.0 SBOM을 추가한다.

번호 주석: ADR-0011과 0012는 feature/mcp-integration이 Tool inputSchema
정책에 쓰고 있어 비워 둔다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 23:27:56 +09:00
5a523ab317 문서 색인에 SBOM을 추가한다
MCP SDK 2.0.0의 전이 의존과 라이선스를 정리한 SBOM을 docs/sbom/으로
들여왔으나 main에는 이를 가리키는 문서가 없어 고아 상태였다. 색인에
자리를 만들고, mcp-java-sdk-adoption.md와 상호 참조를 연결한다.

산출 당시 대조하지 못했던 gradlew dependencies 해석 결과를 이번에
실행해 jackson-databind·reactor-core·slf4j-api의 버전 정렬 네 건과
런타임 12건 구성이 모두 일치함을 확인하고 SBOM 문서에 기록했다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 22:02:49 +09:00
3f5b05177f 문서 색인에 Portal-MCP 계약을 추가한다
main은 Portal registry를 route별 Tool Server 목록의 원천으로 쓰지만
계약 문서가 agent-builder-mcp와 tool-service-mcp 두 개만 색인돼 있었다.
Portal registry의 응답 형태와 필드 규칙을 문서로 정리하면서 색인에도
같은 위치를 만든다.

계약 본문은 docs/contracts/portal-mcp/에 있다. docs/는 .gitignore가
제외하므로 이 링크의 대상은 저장소에 들어오지 않는다. 색인의 다른
문서 행도 모두 같은 조건이다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 21:18:01 +09:00
851dcc58d7 baseEndpoint 주석을 매니페스트 endpoint 정책에 맞게 고친다
6078852에서 Tool 실행 주소의 원천이 배포 설정에서 Tool Service 매니페스트로
바뀌었으나 application.yml 주석은 이전 불변식을 그대로 단언하고 있었다.
"nothing a Tool Service returns can change where MCP sends the call"은
지금 거짓이다.

baseEndpoint의 현재 역할(상대 endpoint 해석 기준)을 적고, 검증이 scheme과
host 확인뿐이어서 매니페스트가 임의의 HTTP(S) host를 지정할 수 있다는 점을
함께 남긴다. 이 신뢰 경계 변화는 코드 어디에도 기록돼 있지 않았다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 20:52:38 +09:00
fe7d8243f6 delete portal
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m59s
2026-08-20 09:45:53 +09:00
5cfb8a1bca Ignore docs directory
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m56s
2026-08-20 09:28:33 +09:00
3de052a22d Ignore .docs directory
All checks were successful
Deploy Gateway / deploy (push) Successful in 2m15s
2026-08-20 09:07:26 +09:00
60788525d6 Use manifest-defined endpoints for tool routing
All checks were successful
Deploy Gateway / deploy (push) Successful in 2m35s
2026-08-19 11:43:24 +09:00
윤희준
422dd8c6e7 fix: correct docker build context to ./dap-was-dapms
All checks were successful
Deploy Gateway / deploy (push) Successful in 5m30s
2026-08-18 16:24:51 +09:00
787489f6c1 Format JSON payloads for readable HTTP logging
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m34s
2026-08-18 15:55:00 +09:00
0a21031a42 Remove payload logging from shared trace configuration
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m38s
2026-08-18 15:44:45 +09:00
4e45a8f321 Add configurable MCP payload tracing and external tool domains
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m48s
2026-08-18 15:21:32 +09:00
윤희준
3e0c251488 feat: add gitea actions workflow for deploy
All checks were successful
Deploy Gateway / deploy (push) Successful in 1m39s
2026-08-18 13:11:51 +09:00
윤희준
c41e9f2da4 test webhook trigger final 2026-08-18 12:51:12 +09:00
윤희준
9ddcb99631 test webhook trigger after api 2026-08-18 12:49:02 +09:00
윤희준
044c8ef767 test webhook trigger 2026-08-18 12:46:41 +09:00
7f431a1c37 Support local resource Portal registry loading 2026-08-18 10:08:48 +09:00
윤희준
e86942ddd4 fix: change serviceKey to match specific bundleIds like was-cus, was-sal 2026-08-15 08:56:25 +09:00
윤희준
86e63ced18 fix: change serviceKey to match the actual bundleId of tool services 2026-08-15 08:54:37 +09:00
윤희준
a86a03ca90 fix: add required fields to mock portal registry json 2026-08-15 08:52:43 +09:00
윤희준
ed0958ef43 fix: change mock portal url to use .json extension for correct content-type 2026-08-15 08:49:35 +09:00
윤희준
b1286a6cd2 chore: Add local mock portal for Gateway routing
* AX Portal이 배포되지 않은 상태에서 Gateway가 툴 엔드포인트를 찾지 못하는 문제를 해결하기 위해,
  Nginx 기반의 정적 가짜 포털(portal-mock)을 도입했습니다.
* deploy/docker-compose.yml 에는 MCP_PORTAL_REGISTRY_URL을 portal-mock으로 바라보게 설정하였으며,
  deploy/portal-registry.json 에 하드코딩된 CUS, SAL, PRO, SYS 경로를 제공합니다.
* 향후 실제 AX Portal이 구성되면 docker-compose.yml의 주소를 실제 운영 포털로 변경해야 합니다.
2026-08-15 08:47:23 +09:00
189277a78c Update project functionality and configuration 2026-08-14 17:59:07 +09:00
a4eb5a580f Initial commit 2026-08-05 15:54:25 +09:00