使用 Mailroom chart

Mailroom Pod 处理将电子邮件引入 GitLab 应用程序的过程。

配置

image:
  repository: registry.jihulab.com/gitlab-cn/build/cng-images/gitlab-mailroom
  # tag: v0.9.1
  pullSecrets: []
  # pullPolicy: IfNotPresent

enabled: true

init:
  image: {}
    # repository:
    # tag:
  resources:
    requests:
      cpu: 50m

# Tolerations for pod scheduling
tolerations: []

podLabels: {}

hpa:
  minReplicas: 1
  maxReplicas: 2
  cpu:
    targetAverageUtilization: 75

  # Note that the HPA is limited to autoscaling/v2beta1, autoscaling/v2beta2 and autoscaling/v2
  customMetrics: []
  behavior: {}

networkpolicy:
  enabled: false
  egress:
    enabled: false
    rules: []
  ingress:
    enabled: false
    rules: []
  annotations: {}

resources:
  # limits:
  #  cpu: 1
  #  memory: 2G
  requests:
    cpu: 50m
    memory: 150M

## Allow to overwrite under which User and Group we're running.
securityContext:
  runAsUser: 1000
  fsGroup: 1000

## Enable deployment to use a serviceAccount
serviceAccount:
  enabled: false
  create: false
  annotations: {}
  ## Name to be used for serviceAccount, otherwise defaults to chart fullname
  # name:
参数 说明 默认值
deployment.strategy 允许配置 deployment 使用的更新策略 {}
enabled Mailroom 启用标记 true
hpa.behavior 包含向上和向下缩放行为的规范(需要 autoscaling/v2beta2 或更高版本) {scaleDown: {stabilizationWindowSeconds: 300 }}
hpa.customMetrics 自定义指标包含用于计算所需副本数的规范(覆盖在 targetAverageUtilization 中配置的平均 CPU 利用率的默认使用值) []
hpa.cpu.targetType 设置自动缩放 CPU 目标类型,必须是 UtilizationAverageValue Utilization
hpa.cpu.targetAverageValue 设置自动缩放 CPU 目标值  
hpa.cpu.targetAverageUtilization 设置自动缩放 CPU 目标利用率 75
hpa.memory.targetType 设置自动缩放内存目标类型,必须是 UtilizationAverageValue  
hpa.memory.targetAverageValue 设置自动缩放内存目标值  
hpa.memory.targetAverageUtilization 设置自动缩放内存目标利用率  
hpa.maxReplicas 最大副本数 2
hpa.minReplicas 最小副本数 1
image.pullPolicy Mailroom 镜像拉取策略 IfNotPresent
extraEnvFrom 要暴露的其它数据源的额外环境变量列表  
image.pullSecrets 拉取 Mailroom 镜像使用的 secret  
image.repository Mailroom 镜像仓库 registry.jihulab.com/gitlab-cn/build/cng-images/gitlab-mailroom
image.tag Mailroom 镜像标签 master
init.image.repository Mailroom init 镜像仓库  
init.image.tag Mailroom init 镜像标签  
init.resources Mailroom init 容器资源需求 { requests: { cpu: 50m }}
podLabels 运行中的 Mailroom Pods 的标签 {}
common.labels 应用于此 chart 创建的所有对象的补充标签。 {}
resources Mailroom 资源需求 { requests: { cpu: 50m, memory: 150M }}
networkpolicy.annotations 添加到 NetworkPolicy 的 annotation {}
networkpolicy.egress.enabled 标记以启用 NetworkPolicy 的 egress 规则 false
networkpolicy.egress.rules 定义 NetworkPolicy 的 egress 规则列表 []
networkpolicy.enabled 标记以启用 NetworkPolicy false
networkpolicy.ingress.enabled 标记以启用 NetworkPolicy 的 ingress 规则 false
networkpolicy.ingress.rules 为 NetworkPolicy 定义一个 ingress 规则列表 []
securityContext.fsGroup 在其下启动 Pod 的 Group ID 1000
securityContext.runAsUser 在其下启动 Pod 的 User ID 1000
serviceAccount.annotations ServiceAccount 的 annotation {}
serviceAccount.enabled 标记以启用 ServiceAccount false
serviceAccount.create 标记以创建 ServiceAccount false
serviceAccount.name 使用的 ServiceAccount 的名称  
tolerations 分配给 Mailroom 的容忍标签  
priorityClassName 指派给 Pod 的 Priority class 

接收电子邮件

默认情况下,传入电子邮件处于禁用状态。有两种方法可以读取收到的电子邮件:

首先,进行通用设置来启用它。 然后配置 IMAP 设置Microsoft Graph 设置

这些方法可以在 values.yaml 中配置。 请参阅以下示例:

IMAP

要为 IMAP 启用传入电子邮件,请使用 global.appConfig.incomingEmail 设置提供 IMAP 服务器的详细信息和访问凭据。

另外,应该检查 IMAP 邮箱账号要求 以确保目标 IMAP 帐户可以被 GitLab 用于接收电子邮件。 同一页面上还记录了几种常见的电子邮件服务,以帮助设置传入的电子邮件。

IMAP 密码仍需要创建为 Kubernetes Secret,如 secrets 指南中所述。

Microsoft Graph

提供租户 ID、客户端 ID 和客户端 secret。您可以在 命令行选项 中找到这些设置的详细信息。

创建包含客户端 secret 的 Kubernetes secret,如 secret 指南 中所述。

Reply-by-email

要使用通过电子邮件回复功能,用户可以在其中回复通知电子邮件以评论议题和 MR,您需要同时配置外发电子邮件和接受电子邮件设置。

服务台电子邮件

默认情况下,服务台电子邮件处于禁用状态。

与接收电子邮件一样,进行通用设置 来启用它。 然后配置 IMAP 设置Microsoft Graph 设置

这些选项也可以在 values.yaml 中配置。 请参阅以下示例:

服务台电子邮件要求配置接收电子邮件

IMAP

使用 global.appConfig.serviceDeskEmail 设置提供您的 IMAP 服务器和访问凭据的详细信息。您可以在 命令行选项 中找到这些设置的详细信息。

secrets 指南中所述,创建一个包含 IMAP 密码的 Kubernetes secret。

Microsoft Graph

使用 global.appConfig.serviceDeskEmail 设置提供租户 ID、客户端 ID 和客户端 secret 。您可以在 命令行选项 中找到这些设置的详细信息。

您还必须创建一个包含客户端 secret 的 Kubernetes 机密,如 secret 指南中所述。