사용 중단 및 제거 사항
사용 중단 사항
사용 중단된 기능이란 아직 지원되지만 나중에 제거될 예정인 기능입니다. 차트의 NOTES.txt는 사용 중단된 기능을 확인하고 발견되면 정보 메시지를 표시합니다.
감지 시 고려 사항
키나 상위 키가 존재할 것으로 가정해서는 안 됩니다. if
, hasKey
, empty
를 신중하게 적용하는 것이 강력히 권장됩니다. 단일 키가 존재할 확률이 전체 속성 맵이 그 키 이전의 여러 가지 분기가 누락되어 없을 때와 동일합니다. Helm은 속성 맵 내에 존재하지 않는 속성에 액세스하려고 시도하면 일반적으로 모호한 방식으로 에러를 표시합니다. 시간을 절약하려면 명시적이 되세요.
메시지 형식
모든 메시지는 다음 형식을 가져야 합니다:
chart:
message
- 메시지 앞의
if
문은 메시지 뒤의 새 줄을 삭제해서는 안 됩니다 (}}
가 아닌-}}
). 이렇게 하면 적절한 형식과 사용자의 가독성이 보장됩니다. - 메시지는 영향을 받는 전역 차트의 차트를 선언해야 합니다. 이는 사용자가 차트와 구성 속성에서 속성이 어디에서 왔는지 이해하는 데 도움이 됩니다.
예:
gitlab.webservice
,minio
,registry
. - 메시지는 영향을 받는 차트에 대해 변경/이동/사용 중단된 속성을 사용자에게 알려주고 어떤 조치를 취해야 하는지 알려주어야 합니다. 영향을 받는 차트에 관련된 속성의 이름을 지정하세요. 예를 들어
gitlab.webservice.minio.enabled
는 사용 중단되는 차트가gitlab.webservice
이기 때문에minio.enabled
로 참조될 것입니다.
예시 메시지:
gitlab.webservice:
Minio 기능의 차트 로컬 구성이 전역으로 이동되었습니다. 속성에서 `gitlab.webservice.minio.enabled`를 제거하고 대신 `global.minio.enabled`를 설정하세요.
제거 사항
사용 중단된 기능이 제거된 후, 사용 중단 메시지는 제거 템플릿으로 이동합니다. 제거된 기능이 사용 중일 경우, helm upgrade
는 차단됩니다.
일반적인 개념
-
templates/NOTES.txt
의 마지막 항목은templates/_removals.tpl
에서gitlab.removals
템플릿을include
합니다. -
gitlab.removals
템플릿은 동일한 파일에서 추가 템플릿을include
하여 그 출력(문자열)을list
로 수집합니다. - 각 개별 템플릿은 이제 잘못된 구성을 감지하고 변경에 대해 사용자에게 알리도록 처리하거나 아무것도 출력하지 않습니다.
-
gitlab.removals
템플릿은 수집한 메시지가 있는지 확인합니다. 메시지가 있으면fail
함수를 사용하여 해당 헤더 아래에 메시지를 출력합니다. -
fail
함수는 배포 프로세스를 중단시켜 사용자가 잘못된 구성으로 배포하지 못하게 합니다.
템플릿 명명
이 패턴 내에서 정의된 템플릿은 gitlab.removal.*
의 명명 규칙을 따라야 합니다. 여기서 *
를 rails.appConfig
또는 registry.storage
와 같이 정보를 제공하는 이름으로 대체하여 이 사용 중단과 관련된 것임을 나타냅니다.
새 제거 사항 활성화
템플릿을 정의한 후, 영향을 받는 속성을 감지하기 위해 해당 템플릿에 로직을 배치하면, 새 템플릿을 gitlab.removals
템플릿에 추가하여 활성화합니다. 사용 방법에 따라 add templates here
아래에 한 줄을 추가하세요.