apiVersion: apps/v1 kind: Deployment metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-conversion-webhook name: longhorn-conversion-webhook namespace: {{ include "release_namespace" . }} spec: replicas: {{ .Values.longhornConversionWebhook.replicas }} selector: matchLabels: app: longhorn-conversion-webhook template: metadata: labels: {{- include "longhorn.labels" . | nindent 8 }} app: longhorn-conversion-webhook spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - longhorn-conversion-webhook topologyKey: kubernetes.io/hostname containers: - name: longhorn-conversion-webhook image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} securityContext: runAsUser: 2000 command: - longhorn-manager - conversion-webhook - --service-account - longhorn-service-account ports: - containerPort: 9443 name: conversion-wh readinessProbe: tcpSocket: port: 9443 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace {{- if .Values.privateRegistry.registrySecret }} imagePullSecrets: - name: {{ .Values.privateRegistry.registrySecret }} {{- end }} {{- if .Values.longhornConversionWebhook.priorityClass }} priorityClassName: {{ .Values.longhornConversionWebhook.priorityClass | quote }} {{- end }} {{- if or .Values.longhornConversionWebhook.tolerations .Values.global.cattle.windowsCluster.enabled }} tolerations: {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.tolerations }} {{ toYaml .Values.global.cattle.windowsCluster.tolerations | indent 6 }} {{- end }} {{- if .Values.longhornConversionWebhook.tolerations }} {{ toYaml .Values.longhornConversionWebhook.tolerations | indent 6 }} {{- end }} {{- end }} {{- if or .Values.longhornConversionWebhook.nodeSelector .Values.global.cattle.windowsCluster.enabled }} nodeSelector: {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.nodeSelector }} {{ toYaml .Values.global.cattle.windowsCluster.nodeSelector | indent 8 }} {{- end }} {{- if .Values.longhornConversionWebhook.nodeSelector }} {{ toYaml .Values.longhornConversionWebhook.nodeSelector | indent 8 }} {{- end }} {{- end }} serviceAccountName: longhorn-service-account --- apiVersion: apps/v1 kind: Deployment metadata: labels: {{- include "longhorn.labels" . | nindent 4 }} app: longhorn-admission-webhook name: longhorn-admission-webhook namespace: {{ include "release_namespace" . }} spec: replicas: {{ .Values.longhornAdmissionWebhook.replicas }} selector: matchLabels: app: longhorn-admission-webhook template: metadata: labels: {{- include "longhorn.labels" . | nindent 8 }} app: longhorn-admission-webhook spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - weight: 1 podAffinityTerm: labelSelector: matchExpressions: - key: app operator: In values: - longhorn-admission-webhook topologyKey: kubernetes.io/hostname initContainers: - name: wait-longhorn-conversion-webhook image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" -k https://longhorn-conversion-webhook:9443/v1/healthz) != "200" ]; do echo waiting; sleep 2; done'] imagePullPolicy: {{ .Values.image.pullPolicy }} securityContext: runAsUser: 2000 containers: - name: longhorn-admission-webhook image: {{ template "registry_url" . }}{{ .Values.image.longhorn.manager.repository }}:{{ .Values.image.longhorn.manager.tag }} imagePullPolicy: {{ .Values.image.pullPolicy }} securityContext: runAsUser: 2000 command: - longhorn-manager - admission-webhook - --service-account - longhorn-service-account ports: - containerPort: 9443 name: admission-wh readinessProbe: tcpSocket: port: 9443 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName {{- if .Values.privateRegistry.registrySecret }} imagePullSecrets: - name: {{ .Values.privateRegistry.registrySecret }} {{- end }} {{- if .Values.longhornAdmissionWebhook.priorityClass }} priorityClassName: {{ .Values.longhornAdmissionWebhook.priorityClass | quote }} {{- end }} {{- if or .Values.longhornAdmissionWebhook.tolerations .Values.global.cattle.windowsCluster.enabled }} tolerations: {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.tolerations }} {{ toYaml .Values.global.cattle.windowsCluster.tolerations | indent 6 }} {{- end }} {{- if .Values.longhornAdmissionWebhook.tolerations }} {{ toYaml .Values.longhornAdmissionWebhook.tolerations | indent 6 }} {{- end }} {{- end }} {{- if or .Values.longhornAdmissionWebhook.nodeSelector .Values.global.cattle.windowsCluster.enabled }} nodeSelector: {{- if and .Values.global.cattle.windowsCluster.enabled .Values.global.cattle.windowsCluster.nodeSelector }} {{ toYaml .Values.global.cattle.windowsCluster.nodeSelector | indent 8 }} {{- end }} {{- if .Values.longhornAdmissionWebhook.nodeSelector }} {{ toYaml .Values.longhornAdmissionWebhook.nodeSelector | indent 8 }} {{- end }} {{- end }} serviceAccountName: longhorn-service-account