Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Apollo 제품 명세와 제품 정의

Apollo 제품 명세(Apollo Product Specification)는 제품의 속성, 요구사항과 실행 시 기대 동작을 표현하는 규약입니다. 메모리, 서비스 포트, TLS 인증서 같은 애플리케이션 요구를 선언하면 스포크 제어 플레인(Spoke Control Plane)이 기반 인프라에서 그 특성을 구현합니다.

제품 정의(Apollo Product Definition)는 이 명세에 맞게 작성한 특정 서비스나 애플리케이션의 정의입니다. 제품 릴리스(Product Release)와 함께 버전 관리하며, 한 릴리스에 게시한 정의는 변경 불가능하게 유지합니다.

필수 구성과 선택 확장

모든 제품 정의에는 manifest.yml이 필요합니다. 이 파일에는 제품 유형, Maven 그룹과 이름, 릴리스 버전 등 제품 자체의 불변 속성을 기록합니다. 게시한 뒤 값을 바꾸려면 새 제품 릴리스를 만듭니다.

명세는 공통 필수 항목과 선택 확장으로 구성됩니다. 선택 확장은 제품이 사용할 추가 기능을 선언합니다. 예를 들어 아티팩트 목록, 다른 제품에 대한 의존 관계, 함께 설치할 수 없는 버전 범위 등을 표현할 수 있습니다.

제품의 특성(trait)은 서비스가 요구하는 자원이나 동작 조건입니다. 모든 제품 유형에 공통인 최소 속성은 매니페스트가 제공하고, 개별 특성의 실제 적용은 스포크 제어 플레인이 담당합니다.

패키지와 등록

제품 정의의 구성 파일은 압축 tarball로 묶어 제품 릴리스 등록 과정에서 Apollo에 전달합니다. 등록한 정의는 허브 제품 카탈로그의 제품 릴리스로 표현됩니다. Helm 제품에서는 CLI가 매니페스트, 기본 구성과 선택적인 스키마를 묶을 수 있습니다. 생성부터 등록까지의 절차는 Helm 차트 릴리스 생성에 설명되어 있습니다.

제품 정의 등록은 특정 환경에 설치를 완료하는 작업과 다릅니다. 배포 환경이 릴리스를 선택하고 관련 제약을 충족해야 실제 변경 계획을 실행할 수 있습니다.

명세 항목