본문으로 건너뛰기
Structly 문서
English

Catalog 가이드

System

이 페이지의 내용

System이 기록하는 정보#

System은 Service·API·Database와 다른 System을 묶는 구성입니다. 이름은 다른 System과 같아도 되므로 ID로 구분합니다.

필드내용
name이름. 필수
handleWeb 주소 이름. 필수이며 같은 Organization의 System 사이에서 고유합니다(주소 이름)
summary·description한 줄 요약과 설명

같은 Service·API·Database·System을 여러 System에 포함할 수 있습니다. Service가 사용하는 Database는 System 구성에 자동으로 포함되지 않으므로 직접 고릅니다. 자기 자신을 다시 포함하는 순환은 허용하지 않습니다.

Web UI#

Systems → 새 System에서 이름을 입력하고 System 등록을 누릅니다. 상세의 직접 구성 편집에서 포함할 Service·API·Database·System을 고르고 직접 구성 저장을 누릅니다.

stly#

{"name": "Commerce", "handle": "commerce", "summary": "주문·결제 기능 묶음"}
stly systems create --input system.json

직접 구성은 Service·API·Database·System ID 집합을 한 번에 교체합니다. service_ids·api_ids·system_ids는 필수입니다. database_ids를 생략하면 기존 Database 구성을 유지하고, 빈 배열을 보내면 모두 해제합니다. 네 배열의 합계는 최대 500개입니다.

{"service_ids": ["1I6Nc76wEPd"], "api_ids": ["4pkKFh2ojXs"], "system_ids": [], "database_ids": ["7OzP6PauDBf"]}
stly systems component-links get <system-id>
stly systems component-links update <system-id> --input links.json --if-match '"구성 조회의 ETag"'

구성의 ETag는 System의 이름·설명 ETag와 다릅니다. component-links get의 etag를 사용합니다.

구성 탐색#

명령결과
stly systems components <system-id> --scope recursive직접·간접 구성. inclusion은 direct·indirect·both입니다
stly systems parents <system-id>이 System을 포함하는 상위 System
stly systems composition <system-id> --target-kind service --target-id <service-id>대상까지의 포함 연결. --target-kind는 system·service·api·database입니다
stly services systems <service-id> · stly apis systems <api-id>이 Service·API를 포함하는 System

systems composition의 다음 페이지는 첫 응답의 composition_revision을 --composition-revision으로 넘겨 조회합니다. 조회 중 구성이 바뀌어 HTTP 409가 나면 처음부터 다시 조회합니다.

삭제#

System을 삭제하면 그 System이 포함하던 연결과 다른 System이 이 System을 포함하던 연결이 함께 정리됩니다. 포함되었던 Service·API·Database·System 자체는 삭제되지 않습니다. Database를 삭제할 수 있으면 System 구성에서도 함께 빠집니다.