수신 이메일 Rake 작업
- GitLab 15.9에서 도입되었습니다.
다음은 수신 이메일과 관련된 Rake 작업입니다.
Secrets
GitLab은 수신 이메일을 복호화된 파일에서 읽어와 평문으로 파일 시스템에 저장하는 대신 사용할 수 있습니다. 다음은 암호화된 파일 내용을 업데이트하는 데 사용되는 Rake 작업입니다.
비밀번호 표시
현재 수신 이메일 비밀번호 내용을 표시합니다.
sudo gitlab-rake gitlab:incoming_email:secret:show
수신 이메일 비밀번호를 저장하기 위해 Kubernetes 시크릿을 사용합니다. 더 많은 정보는 Helm IMAP secrets에서 확인하세요.
sudo docker exec -t <컨테이너 이름> gitlab:incoming_email:secret:show
bundle exec rake gitlab:incoming_email:secret:show RAILS_ENV=production
예시 출력
password: '예시비밀번호'
user: 'incoming-email@mail.example.com'
비밀번호 편집
비밀번호 내용을 편집기에서 열고, 나가면 결과 콘텐츠를 암호화된 비밀 파일에 작성합니다.
sudo gitlab-rake gitlab:incoming_email:secret:edit EDITOR=vim
수신 이메일 비밀번호를 저장하기 위해 Kubernetes 시크릿을 사용합니다. 더 많은 정보는 Helm IMAP secrets에서 확인하세요.
sudo docker exec -t <컨테이너 이름> gitlab:incoming_email:secret:edit EDITOR=editor
bundle exec rake gitlab:incoming_email:secret:edit RAILS_ENV=production EDITOR=vim
원시 비밀번호 작성
STDIN
을 통해 새로운 비밀번호 내용을 제공하여 작성합니다.
echo -e "password: '예시비밀번호'" | sudo gitlab-rake gitlab:incoming_email:secret:write
수신 이메일 비밀번호를 저장하기 위해 Kubernetes 시크릿을 사용합니다. 더 많은 정보는 Helm IMAP secrets에서 확인하세요.
sudo docker exec -t <컨테이너 이름> /bin/bash
echo -e "password: '예시비밀번호'" | gitlab-rake gitlab:incoming_email:secret:write
echo -e "password: '예시비밀번호'" | bundle exec rake gitlab:incoming_email:secret:write RAILS_ENV=production
비밀번호 예시
편집기 예시
편집 명령이 편집기와 호환되지 않을 때 사용할 수 있습니다:
# 기존 비밀번호를 평문 파일에 작성합니다
sudo gitlab-rake gitlab:incoming_email:secret:show > incoming_email.yaml
# 편집기에서 incoming_email 파일 편집
...
# 파일을 다시 암호화합니다
cat incoming_email.yaml | sudo gitlab-rake gitlab:incoming_email:secret:write
# 평문 파일 제거
rm incoming_email.yaml
KMS 통합 예시
KMS(KMS 키로 정보 로 확장)로 암호화된 콘텐츠를 수신 애플리케이션으로 사용할 수 있습니다:
gcloud kms decrypt --key my-key --keyring my-test-kms --plaintext-file=- --ciphertext-file=my-file --location=us-west1 | sudo gitlab-rake gitlab:incoming_email:secret:write
Google Cloud 시크릿 통합 예시
Google Cloud의 시크릿에서 시크릿을 수신하는 애플리케이션으로 사용할 수도 있습니다:
gcloud secrets versions access latest --secret="my-test-secret" > $1 | sudo gitlab-rake gitlab:incoming_email:secret:write