vmpooler-deployment/helm-charts/vmpooler/templates/deployment-manager.yaml
isaac-hammes eafcd73d59 test
2023-08-14 08:28:15 -07:00

168 lines
5.1 KiB
YAML

{{- $fullName := include "vmpooler.fullname" . -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $fullName }}-manager
labels:
app: {{ $fullName }}-manager
redis-client: "true"
{{- include "vmpooler.labels" . | nindent 4 }}
test: liveness
annotations:
configmap.reloader.stakater.com/reload: "{{ .Values.configmapName }},vmpooler-pools"
secret.reloader.stakater.com/reload: 'redis'
spec:
replicas: 1
selector:
matchLabels:
app: {{ $fullName }}-manager
strategy:
type: Recreate
template:
metadata:
labels:
app: {{ $fullName }}-manager
{{- with .Values.manager.annotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
serviceAccountName: {{ include "vmpooler.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
containers:
- name: {{ $fullName }}-manager
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- containerPort: {{ .Values.service.port }}
resources:
{{- toYaml .Values.manager.resources | nindent 12 }}
args:
- 'manager'
livenessProbe:
exec:
command:
- /bin/sh
- -c
- ps -p 1 > /dev/null
initialDelaySeconds: 40
periodSeconds: 10
readinessProbe:
exec:
command:
- /bin/sh
- -c
- ps -p 1 > /dev/null
initialDelaySeconds: 40
periodSeconds: 10
env:
- name: GOOGLE_APPLICATION_CREDENTIALS
value: '{{ .Values.gce.keyfile }}'
- name: AWS_KEY_FILE_LOCATION
value: '{{ .Values.ec2.keyfile }}'
- name: ROOT_KEYS_SCRIPT
value: '{{ .Values.ec2.root_keys_script }}'
- name: JRUBY_OPTS
value: '{{ .Values.jruby_opts }}'
- name: TASK_LIMIT
value: '30'
- name: MIGRATION_LIMIT
value: '10'
- name: VM_LIFETIME
value: '{{ .Values.vm_lifetime }}'
- name: VM_LIFETIME_AUTH
value: '{{ .Values.vm_lifetime_auth }}'
- name: VM_CHECKTIME
value: '1'
- name: CREATE_FOLDERS
value: 'true'
- name: CREATE_TEMPLATE_DELTA_DISKS
value: 'true'
- name: CREATE_LINKED_CLONES
value: 'true'
- name: MAX_TRIES
value: '3'
- name: RETRY_FACTOR
value: '20'
- name: PURGE_UNCONFIGURED_FOLDERS
value: 'true'
- name: VMPOOLER_CONFIG_FILE
value: /etc/vmpooler/vmpooler.yaml
- name: VMPOOLER_TRACING_ENABLED
value: '{{ .Values.tracing.enabled }}'
- name: VMPOOLER_TRACING_JAEGER_HOST
value: '{{ .Values.tracing.jaegerHost }}'
- name: LOGFILE
value: /dev/stdout
- name: EXTRA_CONFIG
value: '{{ .Values.additionalConfigFiles }}'
- name: TIMEOUT
value: '{{ .Values.timeout }}'
- name: READY_TTL
value: "480"
- name: REDIS_SERVER
value: 'redis-master'
- name: REDIS_CONNECTION_POOL_SIZE
value: "200"
- name: REDIS_CONNECTION_POOL_TIMEOUT
value: "40"
- name: REDIS_RECONNECT_ATTEMPTS
value: "[0,0.25,0.5,1,2,4,8,16,32,64,128,256,512]"
- name: ONDEMAND_REQUEST_TTL
value: '{{ .Values.ondemand_request_ttl }}'
- name: ONDEMAND_CLONE_LIMIT
value: '{{ .Values.ondemand_clone_limit }}'
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: redis
key: redis-password
volumeMounts:
- name: base-config
mountPath: /etc/vmpooler
- name: pools-config
mountPath: /etc/vmpooler/config
volumes:
- name: base-config
configMap:
name: {{ .Values.configmapName }}
items:
- key: vmpooler.yaml
path: vmpooler.yaml
- name: pools-config
configMap:
name: {{ .Values.poolsConfigMapName }}
items:
- key: pools.yaml
path: pools.yaml
{{- 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.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}