Repository가 기록하는 정보#
| 필드 | 내용 |
|---|---|
name·git_url | 이름과 Git URL. 필수이며 이름은 Organization 안에서 고유합니다 |
handle | Web 주소 이름. 필수이며 같은 Organization의 Repository 사이에서 고유합니다(주소 이름) |
summary·description | 한 줄 요약과 설명 |
Web UI는 HTTPS 주소를 링크로 열고 SSH 주소는 텍스트로 표시합니다.
Web UI#
Repositories → 새 Repository에서 이름·Git URL을 입력하고 Repository 등록을 누릅니다. 목록은 이름·Git URL·요약·최종 갱신을 표로 비교하고, 상세는 측면 패널에서 확인합니다.
stly#
{"name": "orders-service", "handle": "orders-service", "git_url": "https://github.com/acme/orders-service", "summary": "주문 Service 코드"}stly repositories create --input repository.json
stly repositories list --q orders --fields id,name,git_url
stly repositories services <repository-id>Service와의 연결은 Service에서 편집합니다.
스펙 문서#
Repository에 OpenAPI·AsyncAPI·Arazzo 문서의 원문을 보관합니다. 원문은 JSON 또는 YAML이며 UTF-8 1 MiB 이하입니다.
| 필드 | 내용 |
|---|---|
kind | openapi·asyncapi·arazzo. 필수 |
name | 이름. 필수이며 같은 Repository 안에서 고유합니다 |
path | Repository 안의 파일 경로. 선택 |
summary·description | 한 줄 요약과 설명 |
content | 문서 원문. 필수 |
Web UI에서 등록#
Repository 상세의 스펙 문서 추가에서 원문을 붙여 넣거나 JSON·YAML 파일을 불러온 뒤 스펙 문서 등록을 누릅니다. 등록한 문서는 뷰어에서 항목 검색·구조 탐색·내부 참조 이동을 하고 원문 보기로 바꿀 수 있습니다.
stly로 등록#
content에는 원문 전체를 문자열로 넣습니다. 파일에서 입력 JSON을 만드는 예입니다.
python3 -c 'import json; print(json.dumps({"kind": "openapi", "name": "billing-openapi", "path": "docs/openapi.yaml", "content": open("openapi.yaml").read()}))' > spec.json
stly spec-documents create --repository 3B4cBA6CToA --input spec.jsonstly spec-documents list --repository 3B4cBA6CToA
stly spec-documents view <spec-document-id>spec-documents view는 문서 구조를 반환합니다. 보관한 OpenAPI 문서는 OpenAPI 동기화로 API·Endpoint에 반영할 수 있습니다. Web UI의 OpenAPI 문서 상세에서 연결 API를 확인하고 새 원문 제출·변경 승인과 structly.yaml 내려받기를 엽니다. OpenAPI 문서는 Repository 없이도 등록할 수 있습니다.
삭제#
Repository를 삭제하면 소속 스펙 문서도 함께 삭제되며 Git 저장소의 파일은 바뀌지 않습니다.
Service와 연결된 Repository는 삭제할 수 없으므로(HTTP 409 REPOSITORY_IN_USE) 먼저 Service에서 연결을 해제합니다.