apiVersion: batch/v1 kind: Job metadata: name: {{ include "common.fullname" . }}-post-install labels: app.kubernetes.io/managed-by: {{.Release.Service | quote }} app.kubernetes.io/instance: {{.Release.Name | quote }} helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}" release: {{ .Release.Name }} annotations: # This is what defines this resource as a hook. Without this line, the # job is considered part of the release. "helm.sh/hook": post-install "helm.sh/hook-weight": "-5" "helm.sh/hook-delete-policy": hook-succeeded spec: template: metadata: name: {{ include "common.fullname" . }} labels: app.kubernetes.io/managed-by: {{.Release.Service | quote }} app.kubernetes.io/instance: {{.Release.Name | quote }} helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}" release: {{ .Release.Name }} spec: restartPolicy: Never containers: - name: post-install-job image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} env: - name: DELAY value: "0" # hack explanation: # since the dmaap-bc SSL certificate is expired in this release, we # pass the -k flag to ignore the cert check error. # AFAIK, this post-install script is the only client which actually # uses https (against dmaap-bc API) in El Alto Release. # So, this workaround is the easiest way out for me. # Also note that the only reason to even deploy dmaap-bc is if you # need authenticated topics in message-router, or a feed in data-router. # If that is not your case, then don't even deploy dmaap-bc. - name: PROTO value: "-k https" - name: PORT value: "8443" - name: REQUESTID value: "{{.Chart.Name}}-post-install" volumeMounts: - mountPath: /etc/localtime name: localtime readOnly: true # NOTE: on the following several configMaps, careful to include / at end # since there may be more than one file in each mountPath # NOTE: the basename of the subdirectory of mountPath is important - it matches the DBCL API URI - name: {{ include "common.fullname" . }}-dbc-dmaap mountPath: /opt/app/config/dmaap/ - name: {{ include "common.fullname" . }}-dbc-dcaelocations mountPath: /opt/app/config/dcaeLocations/ resources: {{ include "common.resources" . | indent 10 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 8 }} {{- end -}} {{- if .Values.affinity }} affinity: {{ toYaml .Values.affinity | indent 8 }} {{- end }} volumes: - name: localtime hostPath: path: /etc/localtime - name: {{ include "common.fullname" . }}-dbc-dmaap configMap: name: {{ include "common.fullname" . }}-dbc-dmaap - name: {{ include "common.fullname" . }}-dbc-dcaelocations configMap: name: {{ include "common.fullname" . }}-dbc-dcaelocations imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key"