본문으로 건너뛰기
로그인 둘러보기
개발·코딩·데이터베이스 · 윈도우즈 유틸

DS (Delivery Station)

0

DS(Delivery Station)는 OCI 아티팩트 도구를 위한 플러그인 기반 CLI 래퍼이자 인프라 관리 도구입니다.

레지스트리플러그인

소개

DS(Delivery Station)는 OCI 아티팩트 도구를 위한 플러그인 기반 CLI 래퍼이자 인프라 관리 도구입니다. Kharkevich Engineering Lab에서 개발했으며, 플러그인을 관리하고 공통 설정, 캐시, 레지스트리 클라이언트, 이벤트 버스 등의 인프라를 제공합니다. 실제 아티팩트 작업은 플러그인이 처리하므로, DS는 플러그인 간의 조정과 공유 인프라에 중점을 둡니다.

상세정보

플러그인 관리

OCI 레지스트리에서 플러그인을 설치, 업데이트, 서명하고 관리할 수 있습니다. 플러그인은 독립적인 바이너리로, ds-<plugin-name> 형식의 이름을 가져야 합니다.

통합 설정

YAML, 환경 변수, CLI 플래그를 통해 모든 플러그인에 공통 설정을 제공합니다. 설정 우선순위는 CLI 플래그 > 환경 변수 > 설정 파일 > 기본값입니다.

공유 캐시

모든 플러그인이 접근할 수 있는 아티팩트 캐싱 인프라를 제공합니다.

OCI 레지스트리 클라이언트

플러그인이 사용할 수 있는 공유 레지스트리 클라이언트 라이브러리를 제공합니다.

플러그인 간 통신

이벤트 버스와 상태 저장소를 통해 플러그인 간의 조정을 지원합니다.

사전 빌드된 바이너리 설치

GitHub 릴리스 페이지에서 각 플랫폼에 맞는 최신 릴리스를 다운로드할 수 있습니다.

소스에서 빌드

Go 1.25 이상과 Make가 필요합니다. 저장소를 클론한 후 make build로 빌드하고, make install로 $GOPATH/bin에 설치할 수 있습니다.

기본 사용법

설치 후 ds --help로 도움말을 확인하고, ds version으로 버전을 확인할 수 있습니다. 플러그인 관리는 ds plugin list, ds plugin install <plugin> 등을 사용합니다. 예를 들어, ds plugin install porter로 porter 플러그인을 설치하고, ds porter fetch ghcr.io/org/app:v1.0.0와 같이 플러그인 명령을 실행할 수 있습니다.

활용 예시

  • OCI 레지스트리에서 아티팩트를 가져오거나 배포할 때 플러그인을 사용합니다. 예: ds porter fetch ghcr.io/org/app:v1.0.0, ds porter deliver ghcr.io/org/app:v1.0.0
  • 여러 플러그인을 사용하는 환경에서 공통 설정과 캐시를 공유하여 일관된 작업을 수행합니다.

지원 환경

Linux, macOS, Windows를 지원하며, x64 아키텍처용 바이너리가 제공됩니다. 소스 빌드 시 Go 1.25 이상이 필요합니다.

버전 및 업데이트

현재 버전은 1.6.2이며, GitHub 릴리스 페이지에서 최신 릴리스와 변경 사항을 확인할 수 있습니다.

라이선스 및 확인 사항

이 프로젝트는 MIT 라이선스로 배포됩니다. DS는 아티팩트 작업을 직접 수행하지 않으며, 모든 작업은 플러그인에 위임됩니다. 플러그인은 OCI 레지스트리에서 설치되므로, 사용 전에 플러그인의 신뢰성을 확인하는 것이 좋습니다.

시스템 요구사항

Windows, Linux, macOS · x64 · Go 1.25+ (소스 빌드 시)