사용 중단 및 제거 사항

사용 중단 사항

사용 중단된 기능이란 아직 지원되지만 나중에 제거될 예정인 기능입니다. 차트의 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는 차단됩니다.

일반적인 개념

  1. templates/NOTES.txt의 마지막 항목은 templates/_removals.tpl에서 gitlab.removals 템플릿을 include합니다.
  2. gitlab.removals 템플릿은 동일한 파일에서 추가 템플릿을 include하여 그 출력(문자열)을 list로 수집합니다.
  3. 각 개별 템플릿은 이제 잘못된 구성을 감지하고 변경에 대해 사용자에게 알리도록 처리하거나 아무것도 출력하지 않습니다.
  4. gitlab.removals 템플릿은 수집한 메시지가 있는지 확인합니다. 메시지가 있으면 fail 함수를 사용하여 해당 헤더 아래에 메시지를 출력합니다.
  5. fail 함수는 배포 프로세스를 중단시켜 사용자가 잘못된 구성으로 배포하지 못하게 합니다.

템플릿 명명

이 패턴 내에서 정의된 템플릿은 gitlab.removal.*의 명명 규칙을 따라야 합니다. 여기서 *rails.appConfig 또는 registry.storage와 같이 정보를 제공하는 이름으로 대체하여 이 사용 중단과 관련된 것임을 나타냅니다.

새 제거 사항 활성화

템플릿을 정의한 후, 영향을 받는 속성을 감지하기 위해 해당 템플릿에 로직을 배치하면, 새 템플릿을 gitlab.removals 템플릿에 추가하여 활성화합니다. 사용 방법에 따라 add templates here 아래에 한 줄을 추가하세요.