deployment.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. apiVersion: apps/v1
  2. kind: Deployment
  3. metadata:
  4. name: {{ template "openshift-console-plugin.name" . }}
  5. namespace: {{ .Release.Namespace }}
  6. labels:
  7. {{- include "openshift-console-plugin.labels" . | nindent 4 }}
  8. app.openshift.io/runtime-namespace: {{ .Release.Namespace }}
  9. spec:
  10. replicas: {{ .Values.plugin.replicas }}
  11. selector:
  12. matchLabels:
  13. {{- include "openshift-console-plugin.selectorLabels" . | nindent 6 }}
  14. template:
  15. metadata:
  16. labels:
  17. {{- include "openshift-console-plugin.labels" . | nindent 8 }}
  18. spec:
  19. containers:
  20. - name: {{ template "openshift-console-plugin.name" . }}
  21. image: {{ required "Plugin image must be specified!" .Values.plugin.image }}
  22. ports:
  23. - containerPort: {{ .Values.plugin.port }}
  24. protocol: TCP
  25. imagePullPolicy: {{ .Values.plugin.imagePullPolicy }}
  26. {{- if and (.Values.plugin.securityContext.enabled) (.Values.plugin.containerSecurityContext) }}
  27. securityContext: {{ tpl (toYaml (omit .Values.plugin.containerSecurityContext "enabled")) $ | nindent 12 }}
  28. {{- end }}
  29. resources:
  30. {{- toYaml .Values.plugin.resources | nindent 12 }}
  31. volumeMounts:
  32. - name: {{ template "openshift-console-plugin.certificateSecret" . }}
  33. readOnly: true
  34. mountPath: /var/cert
  35. - name: nginx-conf
  36. readOnly: true
  37. mountPath: /etc/nginx/nginx.conf
  38. subPath: nginx.conf
  39. volumes:
  40. - name: {{ template "openshift-console-plugin.certificateSecret" . }}
  41. secret:
  42. secretName: {{ template "openshift-console-plugin.certificateSecret" . }}
  43. defaultMode: 420
  44. - name: nginx-conf
  45. configMap:
  46. name: {{ template "openshift-console-plugin.name" . }}
  47. defaultMode: 420
  48. restartPolicy: Always
  49. dnsPolicy: ClusterFirst
  50. {{- if and (.Values.plugin.securityContext.enabled) (.Values.plugin.podSecurityContext) }}
  51. securityContext: {{ tpl (toYaml (omit .Values.plugin.podSecurityContext "enabled")) $ | nindent 8 }}
  52. {{- end }}
  53. strategy:
  54. type: RollingUpdate
  55. rollingUpdate:
  56. maxUnavailable: 25%
  57. maxSurge: 25%