GitLab Helm 차트 출처
GitLab Helm 차트의 무결성과 출처를 검증하려면 Helm provenance를 사용합니다.
GitLab Helm 차트는 GNUPG 키 페어로 서명됩니다. 키 페어의 공개 부분은 차트를 확인하기 전에 다운로드하고, 필요한 경우 내보내야 합니다. 자세한 GPG 키를 관리하는 방법은 GNU Privacy Handbook에 자세히 안내되어 있습니다.
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
helm pull
명령에 --verify
옵션과 함께 helm pull
및 helm verify
명령을 결합할 수 있습니다.
예를 들어:
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
설치 중 차트 검증
helm install
또는 helm upgrade
명령에 --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>