Introduction
Kollection은 플랫폼에 설치할 소프트웨어 패키지들과 어플리케이션으로 구성된 하나의 묶음이다. 예를 들어 Nginx 또는 Prometheus와 같은 오픈소스가 포함될 수 있고, 사용자가 배포하고 싶은 contianer 형태의 어플리케이션이 포함될 수도 있다.
ansible
Kollection은 package와 application 그리고 config.yaml
으로 구성되며 Kupboard는 디폴트 kollection package를 포함하고 있다. 원하는 package를 CLI 명령어를 사용하여 지정된 클러스터에 설치할 수 있다. 기본 kollection 정보는 아래 섹션에서 확인이 가능하다.
사용자는 자신만의 Kollection을 생성하여 kupboard를 통해서 배포할 수 있다. 이는 프로젝트 별로 또는 서비스별로 구분해서 플랫폼을 관리해야 할 경우 유용하다. Kollection에 포함된 패지키는 일반적으로 사용되는 오픈소스가 될 수 있으며 사용자가 작성한 소프트웨어도 될 수 있다. Kupboard에서 인식할 수 있도록 패키지 설치에 필요한 간단한 Ansible Playbook만 작성하면 된다. 서비스의 경우 소스파일의 포함 여부와 상관없이 Dockerfile과 컨테이너 빌드에 필요한 정보만 제공되면 된다.
하나의 kollection 포함되는 config.yaml
은 Kollection에 포함된 패지키와 서비스의 정보가 정의되어 있다. 유저는 각 패키지와 서비스 배포에 필요한 action을 정의할 수 있으며, 각 action이 수행될 때 필요한 parameter도 지정할 수 있다. config는 kupboard에 의해서 자동으로 로딩되고, 유저는 config에 정의된 action을 사용해서 원하는 패키지와 서비스를 배포할 수 있다. Kollection은 중복되지 않은 이름으로 data/kollections
에 위치해야 한다.
tip
Kollection은 kollection-name.tar.gz과 같은 archive 형태도 가능하다.