수신 이메일 Rake 작업
Offering: GitLab Self-Managed
다음은 수신 이메일 관련 Rake 작업입니다. GitLab은 파일 시스템에 일반 텍스트로 저장하는 대신 암호화된 파일에서 읽은 수신 이메일 시크릿을 사용할 수 있습니다. 현재 수신 이메일 시크릿의 내용을 표시합니다. Kubernetes 시크릿을 사용하여 수신 이메일 비밀번호를 저장합니다.
히스토리
- GitLab 15.9에서 도입됨.
다음은 수신 이메일 관련 Rake 작업입니다.
시크릿#
GitLab은 파일 시스템에 일반 텍스트로 저장하는 대신 암호화된 파일에서 읽은 수신 이메일 시크릿을 사용할 수 있습니다. 다음 Rake 작업은 암호화된 파일의 내용을 업데이트하기 위해 제공됩니다.
시크릿 표시#
현재 수신 이메일 시크릿의 내용을 표시합니다.
sudo gitlab-rake gitlab:incoming_email:secret:show
Kubernetes 시크릿을 사용하여 수신 이메일 비밀번호를 저장합니다. 자세한 내용은 Helm IMAP 시크릿에 대한 내용을 참조하세요.
sudo docker exec -t <container name> gitlab:incoming_email:secret:show
bundle exec rake gitlab:incoming_email:secret:show RAILS_ENV=production
예시 출력#
password: 'examplepassword'
user: 'incoming-email@mail.example.com'
시크릿 편집#
편집기에서 시크릿 내용을 열고, 편집기를 종료할 때 결과 내용을 암호화된 시크릿 파일에 기록합니다.
sudo gitlab-rake gitlab:incoming_email:secret:edit EDITOR=vim
Kubernetes 시크릿을 사용하여 수신 이메일 비밀번호를 저장합니다. 자세한 내용은 Helm IMAP 시크릿에 대한 내용을 참조하세요.
sudo docker exec -t <container name> gitlab:incoming_email:secret:edit EDITOR=editor
bundle exec rake gitlab:incoming_email:secret:edit RAILS_ENV=production EDITOR=vim
원시 시크릿 쓰기#
STDIN에 제공하여 새 시크릿 내용을 씁니다.
echo -e "password: 'examplepassword'" | sudo gitlab-rake gitlab:incoming_email:secret:write
Kubernetes 시크릿을 사용하여 수신 이메일 비밀번호를 저장합니다. 자세한 내용은 Helm IMAP 시크릿에 대한 내용을 참조하세요.
sudo docker exec -t <container name> /bin/bash
echo -e "password: 'examplepassword'" | gitlab-rake gitlab:incoming_email:secret:write
echo -e "password: 'examplepassword'" | 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로 암호화된 내용의 수신 애플리케이션으로도 사용할 수 있습니다:
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
