release-downloader

메인 인덱스 | bob-yamong

레포지토리 정보

이름: release-downloader
주요 목적: GitHub CLI를 이용해 지정한 저장소의 릴리스를 내려받는 HTTP 서버입니다.

주요 기술 스택

  • Go
  • net/http
  • GitHub CLI (gh)
  • Docker / Docker Compose

아키텍처

  • GET /download-release 하나를 제공합니다.
  • tagrepo 쿼리 파라미터가 필수입니다.
  • 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.ymlcachegh-config 볼륨을 마운트합니다.
  • Dockerfilegh를 설치하고 3000 포트에서 실행합니다.

주요 파일

  1. main.go
  2. Dockerfile
  3. docker-compose.yml
  4. README.md

포트폴리오 메모

  • 릴리스 다운로드를 HTTP 엔드포인트로 감싼 작은 유틸리티 서버입니다.
  • 태그 해석과 파일 캐시를 넣어 반복 다운로드 비용을 줄입니다.