214 lines
7.7 KiB
YAML
214 lines
7.7 KiB
YAML
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
name: {{ include "actions-runner-controller.fullname" . }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "actions-runner-controller.labels" . | nindent 4 }}
|
|
spec:
|
|
replicas: {{ .Values.replicaCount }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "actions-runner-controller.selectorLabels" . | nindent 6 }}
|
|
template:
|
|
metadata:
|
|
{{- with .Values.podAnnotations }}
|
|
annotations:
|
|
kubectl.kubernetes.io/default-logs-container: "manager"
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
labels:
|
|
{{- include "actions-runner-controller.selectorLabels" . | nindent 8 }}
|
|
{{- with .Values.podLabels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
spec:
|
|
{{- with .Values.imagePullSecrets }}
|
|
imagePullSecrets:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
serviceAccountName: {{ include "actions-runner-controller.serviceAccountName" . }}
|
|
securityContext:
|
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
|
{{- with .Values.priorityClassName }}
|
|
priorityClassName: "{{ . }}"
|
|
{{- end }}
|
|
containers:
|
|
- args:
|
|
{{- $metricsHost := .Values.metrics.proxy.enabled | ternary "127.0.0.1" "0.0.0.0" }}
|
|
{{- $metricsPort := .Values.metrics.proxy.enabled | ternary "8080" .Values.metrics.port }}
|
|
- "--metrics-addr={{ $metricsHost }}:{{ $metricsPort }}"
|
|
{{- if .Values.enableLeaderElection }}
|
|
- "--enable-leader-election"
|
|
{{- end }}
|
|
{{- if .Values.leaderElectionId }}
|
|
- "--leader-election-id={{ .Values.leaderElectionId }}"
|
|
{{- end }}
|
|
- "--port={{ .Values.webhookPort }}"
|
|
- "--sync-period={{ .Values.syncPeriod }}"
|
|
- "--default-scale-down-delay={{ .Values.defaultScaleDownDelay }}"
|
|
- "--docker-image={{ .Values.image.dindSidecarRepositoryAndTag }}"
|
|
- "--runner-image={{ .Values.image.actionsRunnerRepositoryAndTag }}"
|
|
{{- range .Values.image.actionsRunnerImagePullSecrets }}
|
|
- "--runner-image-pull-secret={{ . }}"
|
|
{{- end }}
|
|
{{- if .Values.dockerRegistryMirror }}
|
|
- "--docker-registry-mirror={{ .Values.dockerRegistryMirror }}"
|
|
{{- end }}
|
|
{{- if .Values.scope.singleNamespace }}
|
|
- "--watch-namespace={{ default .Release.Namespace .Values.scope.watchNamespace }}"
|
|
{{- end }}
|
|
{{- if .Values.logLevel }}
|
|
- "--log-level={{ .Values.logLevel }}"
|
|
{{- end }}
|
|
{{- if .Values.runnerGithubURL }}
|
|
- "--runner-github-url={{ .Values.runnerGithubURL }}"
|
|
{{- end }}
|
|
{{- if .Values.runner.statusUpdateHook.enabled }}
|
|
- "--runner-status-update-hook"
|
|
{{- end }}
|
|
{{- if .Values.logFormat }}
|
|
- "--log-format={{ .Values.logFormat }}"
|
|
{{- end }}
|
|
command:
|
|
- "/manager"
|
|
env:
|
|
{{- if .Values.githubEnterpriseServerURL }}
|
|
- name: GITHUB_ENTERPRISE_URL
|
|
value: {{ .Values.githubEnterpriseServerURL }}
|
|
{{- end }}
|
|
{{- if .Values.githubURL }}
|
|
- name: GITHUB_URL
|
|
value: {{ .Values.githubURL }}
|
|
{{- end }}
|
|
{{- if .Values.githubUploadURL }}
|
|
- name: GITHUB_UPLOAD_URL
|
|
value: {{ .Values.githubUploadURL }}
|
|
{{- end }}
|
|
{{- if .Values.authSecret.enabled }}
|
|
- name: GITHUB_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: github_token
|
|
name: {{ include "actions-runner-controller.secretName" . }}
|
|
optional: true
|
|
- name: GITHUB_APP_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: github_app_id
|
|
name: {{ include "actions-runner-controller.secretName" . }}
|
|
optional: true
|
|
- name: GITHUB_APP_INSTALLATION_ID
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: github_app_installation_id
|
|
name: {{ include "actions-runner-controller.secretName" . }}
|
|
optional: true
|
|
- name: GITHUB_APP_PRIVATE_KEY
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: github_app_private_key
|
|
name: {{ include "actions-runner-controller.secretName" . }}
|
|
optional: true
|
|
{{- if .Values.authSecret.github_basicauth_username }}
|
|
- name: GITHUB_BASICAUTH_USERNAME
|
|
value: {{ .Values.authSecret.github_basicauth_username }}
|
|
{{- end }}
|
|
- name: GITHUB_BASICAUTH_PASSWORD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
key: github_basicauth_password
|
|
name: {{ include "actions-runner-controller.secretName" . }}
|
|
optional: true
|
|
{{- end }}
|
|
{{- if kindIs "slice" .Values.env }}
|
|
{{- toYaml .Values.env | nindent 8 }}
|
|
{{- else }}
|
|
{{- range $key, $val := .Values.env }}
|
|
- name: {{ $key }}
|
|
value: {{ $val | quote }}
|
|
{{- end }}
|
|
{{- end }}
|
|
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default (cat "v" .Chart.AppVersion | replace " " "") }}"
|
|
name: manager
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
ports:
|
|
- containerPort: {{ .Values.webhookPort }}
|
|
name: webhook-server
|
|
protocol: TCP
|
|
{{- if not .Values.metrics.proxy.enabled }}
|
|
- containerPort: {{ .Values.metrics.port }}
|
|
name: metrics-port
|
|
protocol: TCP
|
|
{{- end }}
|
|
resources:
|
|
{{- toYaml .Values.resources | nindent 12 }}
|
|
securityContext:
|
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
|
volumeMounts:
|
|
{{- if .Values.authSecret.enabled }}
|
|
- mountPath: "/etc/actions-runner-controller"
|
|
name: secret
|
|
readOnly: true
|
|
{{- end }}
|
|
- mountPath: /tmp
|
|
name: tmp
|
|
- mountPath: /tmp/k8s-webhook-server/serving-certs
|
|
name: cert
|
|
readOnly: true
|
|
{{- if .Values.additionalVolumeMounts }}
|
|
{{- toYaml .Values.additionalVolumeMounts | nindent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.metrics.proxy.enabled }}
|
|
- args:
|
|
- "--secure-listen-address=0.0.0.0:{{ .Values.metrics.port }}"
|
|
- "--upstream=http://127.0.0.1:8080/"
|
|
- "--logtostderr=true"
|
|
- "--v=10"
|
|
image: "{{ .Values.metrics.proxy.image.repository }}:{{ .Values.metrics.proxy.image.tag }}"
|
|
name: kube-rbac-proxy
|
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
ports:
|
|
- containerPort: {{ .Values.metrics.port }}
|
|
name: metrics-port
|
|
resources:
|
|
{{- toYaml .Values.resources | nindent 12 }}
|
|
securityContext:
|
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
|
{{- end }}
|
|
terminationGracePeriodSeconds: 10
|
|
volumes:
|
|
{{- if .Values.authSecret.enabled }}
|
|
- name: secret
|
|
secret:
|
|
secretName: {{ include "actions-runner-controller.secretName" . }}
|
|
{{- end }}
|
|
- name: cert
|
|
secret:
|
|
defaultMode: 420
|
|
secretName: {{ include "actions-runner-controller.servingCertName" . }}
|
|
- name: tmp
|
|
emptyDir: {}
|
|
{{- if .Values.additionalVolumes }}
|
|
{{- toYaml .Values.additionalVolumes | nindent 6}}
|
|
{{- end }}
|
|
{{- with .Values.nodeSelector }}
|
|
nodeSelector:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.affinity }}
|
|
affinity:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.tolerations }}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.topologySpreadConstraints }}
|
|
topologySpreadConstraints:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- if .Values.hostNetwork }}
|
|
hostNetwork: {{ .Values.hostNetwork }}
|
|
{{- end }}
|