SBOM 내보내기의 비동기 처리 전환
저장소 SBOM 내보내기를 비동기로 바꾸고, 새 UI와 API 엔드포인트를 추가했습니다.
교안에 영향
기존에 안내하던 SBOM 내보내기 10초 제한과 동기식 /repos/{owner}/{repo}/dependency-graph/sbom 사용 안내는 맞지 않게 되었습니다.
요약
- 저장소 페이지의 SBOM 내보내기가 더 이상 고정 시간 제한에 의존하지 않고 비동기로 처리됩니다. - 새 웹 경험에서 작업 완료를 폴링해 SBOM 파일을 다운로드할 수 있습니다. - SBOM API에 generate-report와 fetch-report/{sbom-uuid} 엔드포인트가 추가되었습니다. - SBOM은 요청 시점의 저장소 상태를 반영하며, HEAD가 아닌 ref에서는 사용할 수 없고 익명 사용자는 저장소별 동시 요청이 1개로 제한됩니다.
바뀐 것
새 기능
- 새 웹 경험에서 Dependency Graph의 Export SBOM 작업을 완료될 때까지 폴링한 뒤 다운로드할 수 있게 했습니다.
- GET /repos/{owner}/{repo}/dependency-graph/sbom/generate-report 엔드포인트를 추가했습니다.
- GET /repos/{owner}/{repo}/dependency-graph/sbom/fetch-report/{sbom-uuid} 엔드포인트를 추가했습니다.
개선
- 저장소 페이지의 SBOM 내보내기를 비동기 방식으로 바꾸어 대형 저장소에서도 처리 시간을 기다릴 수 있게 했습니다.
기타
- SBOM은 요청 시작 시점의 저장소 상태를 기준으로 생성되며, HEAD가 아닌 ref에서는 사용할 수 없습니다.
- 익명 사용자는 저장소별로 동시에 하나의 SBOM 요청만 보낼 수 있습니다.