added repo
This commit is contained in:
@@ -0,0 +1,289 @@
|
||||
{{- $app := merge (deepCopy .Values.vmstorage) (deepCopy .Values.common) -}}
|
||||
{{- $pvc := $app.persistentVolume }}
|
||||
{{- $_ := set .Values "vmstorage" $app }}
|
||||
{{- if $app.enabled -}}
|
||||
{{- $ctx := dict "helm" . "appKey" "vmstorage" }}
|
||||
{{- $fullname := include "vm.plain.fullname" $ctx }}
|
||||
{{- $sa := include "vm.fullname" . }}
|
||||
{{- $ns := include "vm.namespace" $ctx }}
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
{{- with $app.annotations }}
|
||||
annotations: {{ toYaml . | nindent 4 }}
|
||||
{{- end }}
|
||||
{{- $_ := set $ctx "extraLabels" $app.extraLabels }}
|
||||
labels: {{ include "vm.labels" $ctx | nindent 4 }}
|
||||
{{- $_ := unset $ctx "extraLabels" }}
|
||||
name: {{ $fullname }}
|
||||
namespace: {{ $ns }}
|
||||
spec:
|
||||
serviceName: {{ $fullname }}
|
||||
selector:
|
||||
matchLabels: {{ include "vm.selectorLabels" $ctx | nindent 6 }}
|
||||
replicas: {{ $app.replicaCount }}
|
||||
podManagementPolicy: {{ $app.podManagementPolicy }}
|
||||
template:
|
||||
metadata:
|
||||
{{- with $app.podAnnotations }}
|
||||
annotations: {{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- $_ := set $ctx "extraLabels" $app.podLabels }}
|
||||
labels: {{ include "vm.podLabels" $ctx | nindent 8 }}
|
||||
spec:
|
||||
{{- with $app.priorityClassName }}
|
||||
priorityClassName: {{ . }}
|
||||
{{- end }}
|
||||
{{- with $app.schedulerName }}
|
||||
schedulerName: {{ . }}
|
||||
{{- end }}
|
||||
{{- $manager := $app.vmbackupmanager }}
|
||||
{{- if or $app.initContainers $manager.restore.onStart.enabled }}
|
||||
initContainers:
|
||||
{{- with $app.initContainers -}}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end -}}
|
||||
{{- if $manager.restore.onStart.enabled }}
|
||||
{{- include "vm.enterprise.only" . }}
|
||||
- name: vmbackupmanager-restore
|
||||
{{- $_ := set $ctx "appKey" (list "vmstorage" "vmbackupmanager") }}
|
||||
image: {{ include "vm.image" $ctx }}
|
||||
imagePullPolicy: {{ $app.image.pullPolicy }}
|
||||
{{- if $app.securityContext.enabled }}
|
||||
securityContext: {{ include "vm.securityContext" (dict "securityContext" $app.securityContext "helm" .) | nindent 12 }}
|
||||
{{- end }}
|
||||
args: {{ include "vmbackupmanager.restore.args" $ctx | nindent 12 }}
|
||||
{{- with $manager.resources }}
|
||||
resources: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
{{- with $manager.env }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: manager-http
|
||||
containerPort: 8300
|
||||
volumeMounts:
|
||||
- name: vmstorage-volume
|
||||
mountPath: {{ $pvc.mountPath }}
|
||||
subPath: {{ $pvc.subPath }}
|
||||
{{- range $manager.extraSecretMounts }}
|
||||
- name: {{ tpl .name $ctx }}
|
||||
mountPath: {{ .mountPath }}
|
||||
subPath: {{ .subPath }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with ($app.imagePullSecrets | default .Values.global.imagePullSecrets) }}
|
||||
imagePullSecrets: {{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
containers:
|
||||
- name: vmstorage
|
||||
{{- $_ := set $ctx "appKey" "vmstorage" }}
|
||||
image: {{ include "vm.image" $ctx }}
|
||||
imagePullPolicy: {{ $app.image.pullPolicy }}
|
||||
{{- with $app.containerWorkingDir }}
|
||||
workingDir: {{ . }}
|
||||
{{- end }}
|
||||
{{- if $app.securityContext.enabled }}
|
||||
securityContext: {{ include "vm.securityContext" (dict "securityContext" $app.securityContext "helm" .) | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $app.lifecycle }}
|
||||
lifecycle: {{ . | toYaml | nindent 12 }}
|
||||
{{- end }}
|
||||
args: {{ include "vmstorage.args" $ctx | nindent 12 }}
|
||||
ports:
|
||||
- name: {{ $app.ports.name | default "http" }}
|
||||
containerPort: {{ include "vm.port.from.flag" (dict "flag" $app.extraArgs.httpListenAddr "default" "8482") }}
|
||||
- name: vminsert
|
||||
containerPort: 8400
|
||||
- name: vmselect
|
||||
containerPort: 8401
|
||||
{{- with $app.envFrom }}
|
||||
envFrom: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $app.env }}
|
||||
env: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $app "type" "readiness"))) }}
|
||||
readinessProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $app "type" "liveness"))) }}
|
||||
livenessProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $app "type" "startup"))) }}
|
||||
startupProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $app.resources }}
|
||||
resources: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
{{- with $pvc }}
|
||||
- name: {{ tpl .name $ctx }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $app.extraHostPathMounts }}
|
||||
- name: {{ tpl .name $ctx }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .readOnly }}
|
||||
readOnly: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $app.extraConfigmapMounts }}
|
||||
- name: {{ $app.name }}-{{ .name }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .readOnly }}
|
||||
readOnly: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $app.extraSecretMounts }}
|
||||
- name: {{ .name }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .readOnly }}
|
||||
readOnly: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- with $app.extraVolumeMounts }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- include "vm.license.mount" . | nindent 12 }}
|
||||
{{- if $manager.enabled }}
|
||||
{{- include "vm.enterprise.only" . }}
|
||||
- name: vmbackupmanager
|
||||
{{- $_ := set $ctx "appKey" (list "vmstorage" "vmbackupmanager") }}
|
||||
image: {{ include "vm.image" $ctx }}
|
||||
imagePullPolicy: {{ $app.image.pullPolicy }}
|
||||
{{- if $app.securityContext.enabled }}
|
||||
securityContext: {{ include "vm.securityContext" (dict "securityContext" $app.securityContext "helm" .) | nindent 12 }}
|
||||
{{- end }}
|
||||
args: {{ include "vmbackupmanager.args" $ctx | nindent 12 }}
|
||||
{{- with $manager.resources }}
|
||||
resources: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $manager "type" "readiness"))) }}
|
||||
readinessProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $manager "type" "liveness"))) }}
|
||||
livenessProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with (fromYaml (include "vm.probe" (dict "app" $manager "type" "startup"))) }}
|
||||
startupProbe: {{ toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
env:
|
||||
- name: POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
{{- with $manager.env }}
|
||||
{{- toYaml . | nindent 12 }}
|
||||
{{- end }}
|
||||
ports:
|
||||
- name: manager-http
|
||||
containerPort: 8300
|
||||
volumeMounts:
|
||||
{{- with $pvc }}
|
||||
- name: {{ tpl .name $ctx }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- range $manager.extraSecretMounts }}
|
||||
- name: {{ tpl .name $ctx }}
|
||||
mountPath: {{ .mountPath }}
|
||||
{{- with .subPath }}
|
||||
subPath: {{ . }}
|
||||
{{- end }}
|
||||
{{- with .readOnly }}
|
||||
readOnly: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "vm.license.mount" . | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- with $app.extraContainers }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with $app.nodeSelector }}
|
||||
nodeSelector: {{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if $app.podSecurityContext.enabled }}
|
||||
securityContext: {{ include "vm.securityContext" (dict "securityContext" $app.podSecurityContext "helm" .) | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if or (.Values.serviceAccount).name (.Values.serviceAccount).create }}
|
||||
serviceAccountName: {{ tpl ((.Values.serviceAccount).name | default $sa) $ctx }}
|
||||
automountServiceAccountToken: {{ .Values.serviceAccount.automountToken }}
|
||||
{{- end }}
|
||||
{{- with $app.tolerations }}
|
||||
tolerations: {{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with $app.affinity }}
|
||||
affinity: {{ toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- with $app.topologySpreadConstraints }}
|
||||
topologySpreadConstraints:
|
||||
{{- range $constraint := . }}
|
||||
- {{ toYaml $constraint | nindent 10 | trim }}
|
||||
{{- if not $constraint.labelSelector }}
|
||||
labelSelector:
|
||||
matchLabels: {{ include "vm.selectorLabels" $ctx | nindent 14 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
terminationGracePeriodSeconds: {{ $app.terminationGracePeriodSeconds }}
|
||||
{{- if or $app.extraVolumes (not $pvc.enabled) $pvc.existingClaim (include "vm.license.volume" .) }}
|
||||
volumes:
|
||||
{{- with $app.extraVolumes }}
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
{{- if or (not $pvc.enabled) $pvc.existingClaim }}
|
||||
- name: vmstorage-volume
|
||||
{{- if $pvc.enabled }}
|
||||
persistentVolumeClaim:
|
||||
claimName: {{ $pvc.existingClaim }}
|
||||
{{- else }}
|
||||
emptyDir: {{ toYaml $app.emptyDir | nindent 12 }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- include "vm.license.volume" . | nindent 8 }}
|
||||
{{- end }}
|
||||
minReadySeconds: {{ $app.minReadySeconds }}
|
||||
{{- if and $pvc.enabled (not $pvc.existingClaim) }}
|
||||
volumeClaimTemplates:
|
||||
- apiVersion: v1
|
||||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: {{ tpl $pvc.name $ctx }}
|
||||
{{- with $pvc.annotations }}
|
||||
annotations: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
{{- with $pvc.extraLabels }}
|
||||
labels: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
spec:
|
||||
{{- with $pvc.accessModes }}
|
||||
accessModes: {{ toYaml . | nindent 10 }}
|
||||
{{- end }}
|
||||
resources:
|
||||
requests:
|
||||
storage: {{ $pvc.size }}
|
||||
{{- with $pvc.storageClassName }}
|
||||
storageClassName: {{ ternary "" . (eq "-" .) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
Reference in New Issue
Block a user