Help us learn about your current experience with the documentation. Take the survey.

服务台邮件 Rake 任务

  • 版本:免费版、专业版、旗舰版
  • 产品:GitLab 自行管理版

以下是与服务台邮件相关的 Rake 任务。

密钥

GitLab 可以使用从加密文件中读取的服务台邮件密钥,而非将其以明文形式存储在文件系统中。以下 Rake 任务可用于更新加密文件的内容。

显示密钥

显示当前服务台邮件密钥的内容。

sudo gitlab-rake gitlab:service_desk_email:secret:show

使用 Kubernetes secret 来存储服务台邮件密码。更多信息,请参阅关于 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 secret 来存储服务台邮件密码。更多信息,请参阅关于 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

写入原始密钥

通过标准输入 (STDIN) 提供新内容,以写入新的密钥。

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

使用 Kubernetes secret 来存储服务台邮件密码。更多信息,请参阅关于 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

密钥示例

编辑器示例

当编辑命令与您的编辑器不兼容时,可以使用写入任务:

# 将现有密钥写入纯文本文件
sudo gitlab-rake gitlab:service_desk_email:secret:show > service_desk_email.yaml
# 在您的编辑器中编辑 service_desk_email 文件
...
# 重新加密文件
cat service_desk_email.yaml | sudo gitlab-rake gitlab:service_desk_email:secret:write
# 删除纯文本文件
rm service_desk_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:service_desk_email:secret:write

Google Cloud 密钥集成示例

它也可以用作从 Google Cloud 获取密钥的接收应用程序:

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