release-downloader
레포지토리 정보
이름: release-downloader
주요 목적: GitHub CLI를 이용해 지정한 저장소의 릴리스를 내려받는 HTTP 서버입니다.
주요 기술 스택
- Go
net/http- GitHub CLI (
gh) - Docker / Docker Compose
아키텍처
GET /download-release하나를 제공합니다.tag와repo쿼리 파라미터가 필수입니다.tag=latest이면gh release view --repo <repo> --json tagName로 실제 태그를 해석합니다.- 캐시는
cache/<repo>에 저장하고, 이미 받은*.tar.gz가 있으면 바로 내려줍니다. - 캐시에 없으면
gh release download <tag> --repo <repo> --dir <cacheDir> --pattern *.tar.gz로 받아옵니다. - 앱 내부에는 Basic Auth 파싱 로직이 없습니다.
docker-compose.yml은cache와gh-config볼륨을 마운트합니다.Dockerfile은gh를 설치하고 3000 포트에서 실행합니다.
주요 파일
main.goDockerfiledocker-compose.ymlREADME.md
포트폴리오 메모
- 릴리스 다운로드를 HTTP 엔드포인트로 감싼 작은 유틸리티 서버입니다.
- 태그 해석과 파일 캐시를 넣어 반복 다운로드 비용을 줄입니다.