시스템 토폴로지

권장되는 이해 방식은 다음과 같습니다.

  • 제어 평면의 Core
  • 실행 평면의 Runner
  • 연동 경계의 plugins

Core의 책임

  • 워크플로 저장과 트리거
  • 스케줄링과 정책
  • 테넌시와 관리자 API
  • 감사, 결정 추적, 실행 이력
  • Runner 등록과 조정

Runner의 책임

  • 고객 환경에서 작업 실행
  • Core와의 통제된 연결 유지
  • 실행 결과와 텔레메트리 전달
  • 채널/공급자 연동이 필요한 경우 플러그인 호출
  • plugin capability를 managed OCI bundle 또는 legacy HTTP integration으로 resolve

Plugin의 책임

  • HTTP/JSON 기반 외부 연동 구현
  • 또는 runner-plugin.yaml + stdio-json runtime 제공
  • 채널/공급자별 특화 동작 처리
  • Core 내부로부터 격리 유지

연결 패턴

하이브리드 목표 모델에서 Runner는 버전된 gRPC 스트림으로 Core에 아웃바운드 연결을 유지합니다. 이 방식은 고객 사이트의 인바운드 방화벽 개방에 의존하지 않습니다.

왜 중요한가

이 아키텍처는 다음에 기반합니다.

  • 운영 안전성
  • 명시적인 신뢰 경계
  • 배포 환경 전반의 이식성
  • 오케스트레이션 로직과 연동 코드의 분리

신뢰 경계

경계 핵심 규칙
Core → Runner 버전된 gRPC 계약과 명시적 인가
Runner → plugins HTTP/JSON 계약과 로컬 정책 제어
plugin → Core callbacks 서명된 internal-auth 헤더
user → Core API JWT 인증 API 접근

실행 경로

  1. 트리거가 워크플로 실행을 생성합니다.
  2. Core가 정책과 오케스트레이션 로직을 적용합니다.
  3. Core 외부 실행이 필요하면 Runner에 작업을 보냅니다.
  4. Runner가 작업을 수행하고 채널/공급자 작업에 플러그인을 사용합니다.
  5. 결과, 로그, 텔레메트리가 Core로 돌아옵니다.

버전 모델

  • Core ↔︎ Runner 계약은 aisopsflow.core.runner.v1
  • 플러그인 계약은 공개된 HTTP/JSON 표면에서 안정적으로 유지

상세 아키텍처 문서

상세 문서는 현재 영문 원문을 함께 유지하고 있습니다.

관련 문서