受信メールRakeタスク
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
以下は、受信メール関連のRakeタスクです。
シークレット
GitLabでは、受信メールのシークレットを、ファイルシステムに平文で保存する代わりに、暗号化されたファイルから読み取ることができます。次のRakeタスクは、暗号化されたファイルの内容を更新するために提供されています。
シークレットの表示
現在の受信メールシークレットの内容を表示します。
sudo gitlab-rake gitlab:incoming_email:secret:showKubernetesのシークレットを使用して、受信メールのパスワードを保存します。詳細については、Helm IMAPシークレットを参照してください。
sudo docker exec -t <container name> gitlab:incoming_email:secret:showbundle 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=vimKubernetesのシークレットを使用して、受信メールのパスワードを保存します。詳細については、Helm IMAPシークレットを参照してください。
sudo docker exec -t <container name> gitlab:incoming_email:secret:edit EDITOR=editorbundle exec rake gitlab:incoming_email:secret:edit RAILS_ENV=production EDITOR=vimRawシークレットの書き込み
STDINで新しいシークレットコンテンツを書き込みます。
echo -e "password: 'examplepassword'" | sudo gitlab-rake gitlab:incoming_email:secret:writeKubernetesのシークレットを使用して、受信メールのパスワードを保存します。詳細については、Helm IMAPシークレットを参照してください。
sudo docker exec -t <container name> /bin/bash
echo -e "password: 'examplepassword'" | gitlab-rake gitlab:incoming_email:secret:writeecho -e "password: 'examplepassword'" | bundle exec rake gitlab:incoming_email:secret:write RAILS_ENV=productionシークレットの例
Editor example(エディタの例)
書き込みタスクは、編集コマンドがエディタで動作しない場合に使用できます:
# Write the existing secret to a plaintext file
sudo gitlab-rake gitlab:incoming_email:secret:show > incoming_email.yaml
# Edit the incoming_email file in your editor
...
# Re-encrypt the file
cat incoming_email.yaml | sudo gitlab-rake gitlab:incoming_email:secret:write
# Remove the plaintext file
rm incoming_email.yamlKMS integration example(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:writeGoogle Cloud secret integration example(Google Cloudシークレットインテグレーションの例)
Google Cloudからシークレットを受信アプリケーションとしても使用できます:
gcloud secrets versions access latest --secret="my-test-secret" > $1 | sudo gitlab-rake gitlab:incoming_email:secret:write