GitLab Helm 차트 출처

GitLab Helm 차트의 무결성과 출처를 확인하려면 Helm provenance를 사용하면 됩니다.

GitLab Helm 차트는 GNUPG 키페어로 서명됩니다. 키페어의 공개 부분은 다운로드하고 필요에 따라 내보내기 전에 사용해야 합니다. GNU Privacy Handbook에는 GPG 키를 관리하는 방법에 대한 자세한 지침이 있습니다.

GitLab Helm 차트 서명 키 다운로드 및 내보내기

공식 GitLab Helm 차트 공개 서명 키는 GitLab Helm 차트의 출처를 확인하는 데 사용해야 합니다. 키는 먼저 다운로드한 후 필요에 따라 로컬 키링에 내보내야 합니다.

공개 서명 키 다운로드

공식 GitLab Helm 차트 서명 키를 다운로드하려면 다음 명령어를 실행하세요:

gpg --receive-keys --keyserver hkps://keys.openpgp.org '5E46F79EF5836E986A663B4AE30F9C687683D663'

예를 들어:

$ gpg --receive-keys --keyserver hkps://keys.openpgp.org '5E46F79EF5836E986A663B4AE30F9C687683D663'
gpg: key E30F9C687683D663: public key "GitLab, Inc. Helm charts <distribution@gitlab.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

이 명령어는 키를 다운로드하고 기본 키링에 추가합니다. GitLab Helm 차트 서명 키는 별도의 키링에 넣는 것이 좋습니다. --no-default-keyring --keyring <keyring> gpg 옵션을 사용하여 GitLab 차트 서명 키만 포함된 새 키링을 생성할 수 있습니다.

예를 들어:

$ gpg --keyring $HOME/.gnupg/gitlab.pubring.kbx --keyserver hkps://keys.openpgp.org --no-default-keyring --receive-keys '5E46F79EF5836E986A663B4AE30F9C687683D663'
gpg: keybox '$HOME/.gnupg/gitlab.pubring.kbx' created
gpg: key E30F9C687683D663: public key "GitLab, Inc. Helm charts <distribution@gitlab.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

서명 키 내보내기

기본적으로 GnuPG v2는 Helm 차트 출처 검증과 호환되지 않는 형식으로 키링을 저장합니다. Helm 차트를 검증하기 위해서는 먼저 키링을 레거시 형식으로 내보내야 합니다. 키링을 올바른 형식으로 내보내려면 다음 중 하나를 선택하세요:

  • 기본 키링에서 내보내기:

    gpg --export --output gitlab.pubring.gpg '5E46F79EF5836E986A663B4AE30F9C687683D663'
    
  • --no-default-keyring --keyring <keyring> 옵션을 사용하여 별도의 키링에서 키를 내보내기:

    gpg --export --output $HOME/.gnupg/gitlab.pubring.gpg  --keyring $HOME/.gnupg/gitlab.pubring.kbx  --no-default-keyring '5E46F79EF5836E986A663B4AE30F9C687683D663'
    

차트 확인

GitLab Helm 차트는 다음 방법 중 하나로 확인할 수 있습니다:

  • 차트를 다운로드한 후 helm verify를 실행합니다.
  • 차트 설치 중 --verify 옵션을 사용합니다.

다운로드한 차트 확인

다운로드한 차트를 확인하려면 helm verify 명령을 사용할 수 있습니다. 확인 가능한 차트를 다운로드하려면 helm pull --prov 명령을 사용하세요. 예를 들면:

helm pull --prov gitlab/gitlab

지정된 차트 버전을 다운로드하려면 --version 옵션을 사용합니다. 예를 들면:

helm pull --prov gitlab/gitlab --version 7.9.0

그런 다음, 다운로드한 차트를 확인하기 위해 helm verify 명령을 사용할 수 있습니다.

예를 들면:

helm verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab-7.9.0.tgz
Signed by: GitLab, Inc. Helm charts <distribution@gitlab.com>
Using Key With Fingerprint: 5E46F79EF5836E986A663B4AE30F9C687683D663
Chart Hash Verified: sha256:789ec56d929c7ec403fc05249639d0c48ff6ab831f90db7c6ac133534d0aba19

--verify 옵션을 사용하여 helm pull 명령과 확인 명령을 결합할 수 있습니다.

예를 들면:

helm pull --prov gitlab/gitlab --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg
Signed by: GitLab, Inc. Helm charts <distribution@gitlab.com>
Using Key With Fingerprint: 5E46F79EF5836E986A663B4AE30F9C687683D663
Chart Hash Verified: sha256:789ec56d929c7ec403fc05249639d0c48ff6ab831f90db7c6ac133534d0aba19

설치 중 차트 확인

설치 중 --verify 옵션을 사용하여 차트를 확인할 수 있습니다.

  • 예를 들면, helm install:

    helm install --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab gitlab/gitlab --set certmanager-issuer.email=<me@example.com> --set global.hosts.domain=<example.com>
    
  • 예를 들면, helm upgrade:

    helm upgrade --install --verify --keyring $HOME/.gnupg/gitlab.pubring.gpg gitlab gitlab/gitlab --set certmanager-issuer.email=<me@example.com> --set global.hosts.domain=<example.com>