正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

サービスデスクのメールRakeタスク

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

以下は、サービスデスクのメール関連のRakeタスクです。

シークレット

GitLabでは、サービスデスクのメールシークレットを、ファイルシステム内の平文で保存する代わりに、暗号化されたファイルから読み取ることができます。以下の暗号化されたファイルの内容を更新するために、次のRakeタスクが用意されています。

シークレットを表示

現在のサービスデスクのメールシークレットの内容を表示します。

sudo gitlab-rake gitlab:service_desk_email:secret:show

サービスデスクのメールパスワードを保存するには、Kubernetesシークレットを使用します。詳細については、Helm IMAPシークレットをお読みください。

sudo docker exec -t <container name> gitlab:service_desk_email:secret:show
bundle exec rake gitlab:service_desk_email:secret:show RAILS_ENV=production

出力例

password: 'examplepassword'
user: 'service-desk-email@mail.example.com'

シークレットを編集

エディタでシークレットの内容を開き、終了時に結果の内容を暗号化されたシークレットファイルに書き込みます。

sudo gitlab-rake gitlab:service_desk_email:secret:edit EDITOR=vim

サービスデスクのメールパスワードを保存するには、Kubernetesシークレットを使用します。詳細については、Helm IMAPシークレットをお読みください。

sudo docker exec -t <container name> gitlab:service_desk_email:secret:edit EDITOR=editor
bundle exec rake gitlab:service_desk_email:secret:edit RAILS_ENV=production EDITOR=vim

rawシークレットを書き込む

STDINで新しいシークレットコンテンツを提供して書き込みます。

echo -e "password: 'examplepassword'" | sudo gitlab-rake gitlab:service_desk_email:secret:write

サービスデスクのメールパスワードを保存するには、Kubernetesシークレットを使用します。詳細については、Helm IMAPシークレットをお読みください。

sudo docker exec -t <container name> /bin/bash
echo -e "password: 'examplepassword'" | gitlab-rake gitlab:service_desk_email:secret:write
echo -e "password: 'examplepassword'" | bundle exec rake gitlab:service_desk_email:secret:write RAILS_ENV=production

シークレットの例

Editor example(エディタの例)

書き込みタスクは、編集コマンドがエディタで動作しない場合に使用できます:

# Write the existing secret to a plaintext file
sudo gitlab-rake gitlab:service_desk_email:secret:show > service_desk_email.yaml
# Edit the service_desk_email file in your editor
...
# Re-encrypt the file
cat service_desk_email.yaml | sudo gitlab-rake gitlab:service_desk_email:secret:write
# Remove the plaintext file
rm service_desk_email.yaml

KMS 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:service_desk_email:secret:write

Google Cloud secret integration example(Google Cloudシークレットインテグレーションの例)

Google Cloudからシークレットを受信するアプリケーションとしても使用できます:

gcloud secrets versions access latest --secret="my-test-secret" > $1 | sudo gitlab-rake gitlab:service_desk_email:secret:write