의존성
이 부분은 가이드의 일부로서 Chart.yaml
에서 선언되는 dependencies
에 과한 모범사례를 다룬다.
버전
가능하면 특정 버전을 콕 집어서 사용하기 보다는 버전 범위를 사용하자. 권장되는 기본값은 다음과 같이 패치-수준의 버전 매치(match)를 사용하는 것이다.
version: ~1.2.3
이렇게 하면 1.2.3
과 그 릴리스의 다른 패치들도 매치된다.
다시 말하면 ~1.2.3
은 >= 1.2.3, < 1.3.0
과 동등하다.
버전 매칭 구문에 대한 자세한 설명은 semver 문서에서 볼 수 있다.
리포지터리 URL
가능하면 https://
리포지터리 URL 뒤에 http://
URL을 사용하자.
리포지터리가 리포지터리 인덱스 파일에 추가되면, 리포지터리 이름은 URL의 별칭으로 사용될 수 있다.
alias:
나 @
뒤에 리포지터리 이름을 쓰자.
차트에서 파일 URL(file://...
)은 고정된 배포 파이프라인에서 만들어지는 "특이한 경우"로 취급된다.
공식 헬름 리포지터리에는 file://
을 사용하는 차트가 허용되지 않는다.
OCI 레지스트리에서 호스팅되는 차트에 대한 실험적 기능지원
실험적 OCI 지원을 활성화(enabled)했다면,
리포지터리 URL의 OCI 참조(oci://registry/group/image:tag
)를 지정할 수 있다.
OCI 참조를 지정한 경우, 리포지터리 URL이 이미지 태그(oci://nginx:1.10
)를 가지고 있으면 version
인자를 생략해도 된다.
URL에 태그를 지정하지 않으면, version
이 태그로 사용될 것이다.
이것은 OCI URL이 SemVer 제약사항을 지원하지 않지만, 태그된 버전은 지원한다는 것을 뜻한다.
태그와 버전을 둘다 지정했다면, 태그가 우선 적용되며 버전은 무시된다.
조건과 태그
조건과 태그는 _선택적(optional)_인 모든 의존성에 추가되어야 한다.
조건의 권장되는 형식은 다음과 같다.
condition: somechart.enabled
여기서 somechart
는 의존성의 차트 이름이다.
여러 서브차트(의존성)들이 선택적 또는 교체가능한 기능을 공동으로 제공하는 경우, 그 차트들은 동일한 태그를 사용해야 한다.
예를 들어, nginx
와 memcached
가 차트 내 메인 앱에 대한 성능 최적화 기능을
공동으로 제공하는 경우, 그리고 그 기능의 활성화시에 둘다 있어야 한다면
둘다 다음과 같은 태그 섹션이 있어야 한다.
tags:
- webaccelerator
이렇게 하면 사용자는 하나의 태그로 기능을 켜거나 끌 수 있다.