使用 Mailroom chart

Mailroom Chart 处理接收电子邮件

配置

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.registry Mailroom 镜像仓库  
image.repository Mailroom 镜像仓库 registry.jihulab.com/gitlab-cn/build/cng-images/gitlab-mailroom
image.tag Mailroom 镜像标签  
init.image.repository Mailroom init 镜像仓库  
init.image.tag Mailroom init 镜像标签  
init.resources Mailroom init 容器资源需求 { requests: { cpu: 50m }}
init.containerSecurityContext   initContainer 容器特定 securityContext
keda.enabled false 使用 KEDA ScaledObjects 替代 HorizontalPodAutoscalers
keda.pollingInterval 30 检查每个触发器的时间间隔
keda.cooldownPeriod 300 最后一个触发器报告有效后,在将资源缩放回 0 之前等待的时间
keda.minReplicaCount   KEDA 将资源缩减到的最小副本数,默认为 hpa.minReplicas
keda.maxReplicaCount   KEDA 将资源扩展到的最大副本数,默认为 hpa.maxReplicas
keda.fallback   KEDA 后备配置,请参阅文档
keda.hpaName   KEDA 将创建的 HPA 资源的名称,默认为 keda-hpa-{scaled-object-name}
keda.restoreToOriginalReplicaCount   指定删除 ScaledObject 后,目标资源是否应缩减至原始副本数
keda.behavior   放大和缩小行为的 spec,默认为 hpa.behavior
keda.triggers   用于激活目标资源扩展的触发器列表,默认为根据 hpa.cpuhpa.memory 计算的触发器
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 的群组 ID 1000
securityContext.runAsUser 在其下启动 Pod 的用户 ID 1000
securityContext.fsGroupChangePolicy 更改卷的所有权和权限的策略(需要 Kubernetes 1.23)  
containerSecurityContext   覆盖用于启动容器的容器 securityContext
containerSecurityContext.runAsUser 1000 允许覆盖启动容器的特定安全上下文
serviceAccount.annotations ServiceAccount 的 annotation {}
serviceAccount.enabled 标记以启用 ServiceAccount false
serviceAccount.create 标记以创建 ServiceAccount false
serviceAccount.name 使用的 ServiceAccount 的名称  
tolerations 分配给 Mailroom 的 toleration 标签  
priorityClassName 指派给 Pod 的优先级别  

接收电子邮件

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

首先,进行通用设置来启用它。 然后配置 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 指南中所述。