aaaaf4c
# GitData actions runner 池的默认值。
# 生产覆盖见 deploy/values/runner-prod.yaml。
nameOverride: ""
fullnameOverride: "gitdata-runner"
# 调度中心(gitdata 命名空间的 webhook Service)地址。
# 跨命名空间必须写全限定域名:
# <service>.<namespace>.svc.cluster.local:<port>
serverUrl: "http://gitdata-webhook.gitdata.svc.cluster.local:3005"
image:
repository: harbor.gitdata.me/app/gitdata
tag: ""
pullPolicy: IfNotPresent
# act 引擎镜像:提供 gitdata-actions-engine 二进制 + 4 套 Node 运行时
actionsImage:
repository: harbor.gitdata.me/app/gitdata-act
tag: ""
pullPolicy: IfNotPresent
imagePullSecrets: []
serviceAccount:
create: true
name: ""
annotations: {}
# 注册令牌(APP_RUNNER__REGISTRATION_TOKEN)。
# 生产用 existingSecret:Secret 由 kubectl 直接建在集群里,任何一次 helm upgrade
# 都不会把它覆盖或清空(写进 values 的令牌一旦漏传 -f 就会被空值刷掉)。
secret:
create: false
existingSecret: "gitdata-runner-env"
env: {}
runner:
# 不含 docker:只注册 self-hosted 标签。带 ubuntu-latest 等标签的 workflow
# 不会被接单(要接单需要 dockerEnabled + 拉 ghcr.io/catthehacker/ubuntu)。
labels: ["self-hosted"]
# 每个副本同时只跑 1 个作业;并发度靠副本数
capacity: 1
dockerEnabled: false
workspaceRoot: /var/lib/gitdata-runner
credentialPath: /var/lib/gitdata-runner/credential
actionsEngineBinary: /opt/gitdata/actions/bin/gitdata-actions-engine
actionsCacheDir: /var/lib/gitdata-runner/actions
extraEnv: []
resources:
requests: { cpu: 500m, memory: 512Mi }
limits: { memory: 4Gi }
# 仅在 autoscaling.enabled=false 时生效
replicaCount: 3
autoscaling:
enabled: true
minReplicas: 3
maxReplicas: 6
targetCPUUtilizationPercentage: 70
# 0 = 不启用内存指标
targetMemoryUtilizationPercentage: 0
behavior: {}
scheduling:
# 排除 master / 控制面节点
excludeControlPlane:
enabled: true
labelKey: node-role.kubernetes.io/control-plane
nodeSelector: {}
tolerations: []
affinity: {}
# 软性打散:maxSkew=1 + ScheduleAnyway,既不堆在一台,也不禁止单机多副本。
# 扩容时新副本由 kube-scheduler 默认的 LeastAllocated 打分挑当前请求量最小
# 的节点,即"负载由小到大"。
topologySpread:
enabled: true
maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: ScheduleAnyway
podDisruptionBudget:
enabled: true
minAvailable: 2
networkPolicy:
enabled: true
# 调度中心所在的命名空间与端口(允许 egress)
webhookNamespace: gitdata
webhookPort: 3005
# workflow 步骤需要上网(git clone / 包下载 / 拉 action),默认放行全部出站
allowAllEgress: true
podSecurityContext:
fsGroup: 10001
securityContext:
runAsNonRoot: true
runAsUser: 10001
allowPrivilegeEscalation: false
seccompProfile:
type: RuntimeDefault
capabilities:
drop: ["ALL"]
terminationGracePeriodSeconds: 300