Files
Brady Todhunter bd048b272a [stable/anchore-engine] Fix upgrade jobs (#22451)
* set rollingUpdate to null for helm 2 compatibility

Signed-off-by: Brady Todhunter <bradyt@anchore.com>

* pass /bin/bash -c to entrypoint to fix upgrade job failures

Signed-off-by: Brady Todhunter <bradyt@anchore.com>
2020-05-19 22:56:18 -07:00

221 lines
7.5 KiB
YAML

{{- $component := "simplequeue" -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ template "anchore-engine.simplequeue.fullname" . }}
labels:
app: {{ template "anchore-engine.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
component: {{ $component }}
{{- with .Values.anchoreSimpleQueue.labels }}
{{ toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.anchoreGlobal.labels }}
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
app: {{ template "anchore-engine.fullname" . }}
component: {{ $component }}
replicas: {{ .Values.anchoreSimpleQueue.replicaCount }}
strategy:
type: Recreate
rollingUpdate: null
template:
metadata:
labels:
app: {{ template "anchore-engine.fullname" . }}
component: {{ $component }}
{{- with .Values.anchoreSimpleQueue.labels }}
{{ toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.anchoreGlobal.labels }}
{{ toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.annotations }}
annotations:
{{ toYaml . | nindent 8 }}
{{- end }}
spec:
securityContext:
runAsUser: 1000
runAsGroup: 1000
{{- if .Values.anchoreEnterpriseGlobal.enabled }}
imagePullSecrets:
- name: {{ .Values.anchoreEnterpriseGlobal.imagePullSecretName }}
{{- else }}
{{- with .Values.anchoreGlobal.imagePullSecretName }}
imagePullSecrets:
- name: {{ . }}
{{- end }}
{{- end }}
containers:
{{- if .Values.cloudsql.enabled }}
- name: cloudsql-proxy
image: {{ .Values.cloudsql.image.repository }}:{{ .Values.cloudsql.image.tag }}
imagePullPolicy: {{ .Values.cloudsql.image.pullPolicy }}
command: ["/cloud_sql_proxy"]
args:
- "-instances={{ .Values.cloudsql.instance }}=tcp:5432"
{{- if .Values.cloudsql.useExistingServiceAcc }}
- "-credential_file=/var/{{ .Values.cloudsql.serviceAccSecretName }}/{{ .Values.cloudsql.serviceAccJsonName }}"
volumeMounts:
- mountPath: /var/{{ .Values.cloudsql.serviceAccSecretName }}
name: {{ .Values.cloudsql.serviceAccSecretName }}
readOnly: true
{{- end }}
{{- end }}
- name: "{{ .Chart.Name }}-{{ $component }}"
{{- if .Values.anchoreEnterpriseGlobal.enabled }}
image: {{ .Values.anchoreEnterpriseGlobal.image }}
imagePullPolicy: {{ .Values.anchoreEnterpriseGlobal.imagePullPolicy }}
{{- else }}
image: {{ .Values.anchoreGlobal.image }}
imagePullPolicy: {{ .Values.anchoreGlobal.imagePullPolicy }}
{{- end }}
{{- if .Values.anchoreEnterpriseGlobal.enabled }}
args: ["anchore-enterprise-manager", "service", "start", "--no-auto-upgrade", "simplequeue"]
{{- else }}
args: ["anchore-manager", "service", "start", "--no-auto-upgrade", "simplequeue"]
{{- end }}
envFrom:
- secretRef:
name: {{ default (include "anchore-engine.fullname" .) .Values.anchoreGlobal.existingSecret }}
- configMapRef:
name: {{ template "anchore-engine.fullname" . }}-env
env:
{{- with .Values.anchoreGlobal.extraEnv }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.extraEnv }}
{{- toYaml . | nindent 8 }}
{{- end }}
- name: ANCHORE_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
ports:
- name: simplequeue
containerPort: {{ .Values.anchoreSimpleQueue.service.port }}
volumeMounts:
{{- if .Values.anchoreEnterpriseGlobal.enabled }}
- name: anchore-license
mountPath: /home/anchore/license.yaml
subPath: license.yaml
{{- end }}
- name: config-volume
mountPath: /config/config.yaml
subPath: config.yaml
{{- if .Values.anchoreGlobal.openShiftDeployment }}
- name: service-config-volume
mountPath: /anchore_service_config
- name: logs
mountPath: /var/log/anchore
- name: run
mountPath: /var/run/anchore
{{- end }}
{{- if (.Values.anchoreGlobal.certStoreSecretName) }}
- name: certs
mountPath: /home/anchore/certs/
readOnly: true
{{- end }}
livenessProbe:
httpGet:
path: /health
port: simplequeue
{{- if .Values.anchoreGlobal.internalServicesSsl.enabled }}
scheme: HTTPS
{{- end }}
initialDelaySeconds: 120
timeoutSeconds: 10
periodSeconds: 10
failureThreshold: 6
successThreshold: 1
readinessProbe:
httpGet:
path: /health
port: simplequeue
{{- if .Values.anchoreGlobal.internalServicesSsl.enabled }}
scheme: HTTPS
{{- end }}
timeoutSeconds: 10
periodSeconds: 10
failureThreshold: 3
successThreshold: 1
resources:
{{ toYaml .Values.anchoreSimpleQueue.resources | nindent 10 }}
volumes:
{{- if .Values.anchoreEnterpriseGlobal.enabled }}
- name: anchore-license
secret:
secretName: {{ .Values.anchoreEnterpriseGlobal.licenseSecretName }}
{{- end }}
- name: config-volume
configMap:
name: {{ template "anchore-engine.fullname" .}}
{{- if .Values.anchoreGlobal.openShiftDeployment }}
- name: service-config-volume
emptyDir: {}
- name: logs
emptyDir: {}
- name: run
emptyDir: {}
{{- end }}
{{- with .Values.anchoreGlobal.certStoreSecretName }}
- name: certs
secret:
secretName: {{ . }}
{{- end }}
{{- if .Values.cloudsql.useExistingServiceAcc }}
- name: {{ .Values.cloudsql.serviceAccSecretName }}
secret:
secretName: {{ .Values.cloudsql.serviceAccSecretName }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.nodeSelector }}
nodeSelector:
{{ toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.affinity }}
affinity:
{{ toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.tolerations }}
tolerations:
{{ toYaml . | nindent 8 }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ template "anchore-engine.simplequeue.fullname" . }}
labels:
app: {{ template "anchore-engine.fullname" . }}
chart: {{ .Chart.Name }}-{{ .Chart.Version }}
release: {{ .Release.Name }}
heritage: {{ .Release.Service }}
component: {{ $component }}
{{- with .Values.anchoreSimpleQueue.service.labels }}
{{ toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.anchoreGlobal.labels }}
{{ toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.anchoreSimpleQueue.service.annotations }}
annotations:
{{ toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.anchoreSimpleQueue.service.type }}
ports:
- name: anchore-simplequeue-api
port: {{ .Values.anchoreSimpleQueue.service.port }}
targetPort: {{ .Values.anchoreSimpleQueue.service.port }}
protocol: TCP
selector:
app: {{ template "anchore-engine.fullname" . }}
component: {{ $component }}