사용 중단 및 제거
사용 중단
사용 중단된 기능은 여전히 지원되지만, 이후 마일스톤에서 제거될 예정인 기능입니다. 차트의 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
함수를 사용하여REMOVALS:
라는 헤더 아래에 출력합니다. -
fail
함수는 배포 프로세스를 종료하게 되어, 사용자가 잘못된 구성으로 배포하는 것을 방지합니다.
템플릿 명명
이 패턴 내에서 정의되고 사용되는 템플릿은 gitlab.removal.*
의 명명 규칙을 따라야 합니다. 여기서 *
를 rails.appConfig
또는 registry.storage
와 같은 유의미한 이름으로 교체하여 이 사용 중단이 무엇과 관련이 있는지를 나타냅니다.
새로운 제거 활성화
템플릿이 정의되고 영향을 받는 속성을 탐지하기 위한 로직이 배치된 후, gitlab.removals
템플릿의 add templates here
아래에 다음 형식으로 새 템플릿을 활성화하기 위해 한 줄을 추가합니다.