{{- if and (eq true .Values.firefoxDebug.enabled) (eq false .Values.firefoxDebug.runAsDaemonSet) -}} apiVersion: {{ template "deployment.apiVersion" . }} kind: Deployment metadata: name: {{ template "selenium.firefoxDebug.fullname" . }} labels: chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" spec: replicas: {{ .Values.firefoxDebug.replicas }} selector: matchLabels: app: {{ template "selenium.firefoxDebug.fullname" . }} release: "{{ .Release.Name }}" template: metadata: labels: app: {{ template "selenium.firefoxDebug.fullname" . }} chart: "{{ .Chart.Name }}-{{ .Chart.Version }}" release: "{{ .Release.Name }}" heritage: "{{ .Release.Service }}" {{- with .Values.firefoxDebug.podLabels }} {{ toYaml .| indent 2 }} {{- end }} {{- if .Values.firefoxDebug.podAnnotations }} annotations: {{ toYaml .Values.firefoxDebug.podAnnotations | indent 8 }} {{- end}} spec: {{- if .Values.firefoxDebug.securityContext }} securityContext: {{ toYaml .Values.firefoxDebug.securityContext | indent 8 }} {{- end }} containers: - name: {{ .Chart.Name }} image: "{{ .Values.firefoxDebug.image }}:{{ .Values.firefoxDebug.tag }}" imagePullPolicy: {{ .Values.firefoxDebug.pullPolicy }} ports: {{- if .Values.firefoxDebug.jmxPort }} - containerPort: {{ .Values.firefoxDebug.jmxPort }} name: jmx protocol: TCP {{- end }} - containerPort: 5900 name: vnc {{- if .Values.firefoxDebug.enableLivenessProbe }} livenessProbe: httpGet: path: /wd/hub/status port: {{ default "5555" .Values.firefoxDebug.nodePort }} initialDelaySeconds: 30 periodSeconds: 30 failureThreshold: 1 {{- end }} {{- if .Values.firefoxDebug.waitForRunningSessions }} lifecycle: preStop: exec: command: - /bin/bash - -c - "while [ $(wget -q -O - http://localhost:{{ default "5555" .Values.firefoxDebug.nodePort }}/wd/hub/sessions | grep -c capabilities) -gt 0 ]; do sleep 1; done" {{- end }} env: - name: HUB_PORT_4444_TCP_ADDR value: {{ template "selenium.hub.fullname" . }} - name: HUB_PORT_4444_TCP_PORT value: {{ .Values.hub.servicePort | quote }} - name: JAVA_TOOL_OPTIONS value: {{ default "" .Values.firefoxDebug.javaOpts | quote }} - name: SE_OPTS value: {{ default "" .Values.firefoxDebug.seOpts | quote }} {{- if .Values.firefoxDebug.firefoxVersion }} - name: FIREFOX_VERSION value: {{ .Values.firefoxDebug.firefoxVersion | quote }} {{- end }} {{- if .Values.firefoxDebug.nodeMaxInstances }} - name: NODE_MAX_INSTANCES value: {{ .Values.firefoxDebug.nodeMaxInstances | quote }} {{- end }} {{- if .Values.firefoxDebug.nodeMaxSession }} - name: NODE_MAX_SESSION value: {{ .Values.firefoxDebug.nodeMaxSession | quote }} {{- end }} {{- if .Values.firefoxDebug.nodeRegisterCycle }} - name: NODE_REGISTER_CYCLE value: {{ .Values.firefoxDebug.nodeRegisterCycle | quote }} {{- end }} {{- if .Values.firefoxDebug.nodePort }} - name: NODE_PORT value: {{ .Values.firefoxDebug.nodePort | quote }} {{- end }} {{- if .Values.firefoxDebug.screenWidth }} - name: SCREEN_WIDTH value: {{ .Values.firefoxDebug.screenWidth | quote }} {{- end }} {{- if .Values.firefoxDebug.screenHeight }} - name: SCREEN_HEIGHT value: {{ .Values.firefoxDebug.screenHeight | quote }} {{- end }} {{- if .Values.firefoxDebug.screenDepth }} - name: SCREEN_DEPTH value: {{ .Values.firefoxDebug.screenDepth | quote }} {{- end }} {{- if .Values.firefoxDebug.display }} - name: DISPLAY value: {{ .Values.firefoxDebug.display | quote }} {{- end }} {{- if .Values.firefoxDebug.timeZone }} - name: TZ value: {{ .Values.firefoxDebug.timeZone | quote }} {{- end }} {{- if .Values.firefoxDebug.extraEnvs }} {{ toYaml .Values.firefoxDebug.extraEnvs | indent 12 }} {{- end }} volumeMounts: {{ if .Values.firefoxDebug.volumeMounts -}} {{ toYaml .Values.firefoxDebug.volumeMounts | indent 12 }} {{- end }} resources: {{ toYaml .Values.firefoxDebug.resources | indent 12 }} {{- if or .Values.global.imagePullSecrets .Values.firefoxDebug.imagePullSecrets }} imagePullSecrets: - name: {{ .Values.firefoxDebug.imagePullSecrets | default .Values.global.imagePullSecrets | quote }} {{- end }} volumes: {{ if .Values.firefoxDebug.volumes -}} {{ toYaml .Values.firefoxDebug.volumes | indent 8 }} {{- end }} hostAliases: {{ toYaml .Values.global.hostAliases | indent 8 }} nodeSelector: {{- if .Values.firefoxDebug.nodeSelector }} {{ toYaml .Values.firefoxDebug.nodeSelector | indent 8 }} {{- else if .Values.global.nodeSelector }} {{ toYaml .Values.global.nodeSelector | indent 8 }} {{- end }} affinity: {{- if .Values.firefoxDebug.affinity }} {{ toYaml .Values.firefoxDebug.affinity | indent 8 }} {{- else if .Values.global.affinity }} {{ toYaml .Values.global.affinity | indent 8 }} {{- end }} tolerations: {{- if .Values.firefoxDebug.tolerations }} {{ toYaml .Values.firefoxDebug.tolerations | indent 8 }} {{- else if .Values.global.tolerations }} {{ toYaml .Values.global.tolerations | indent 8 }} {{- end }} {{- end -}}