Attempt2: Post-install jobs for DMaaP Provisioning

This was originally committed under 81992 but got a merge conflict.
I messed up resolving it so I abandoned 81992 and created this new
commit.

patchset2: replaced Release.Name for common.fullname in one of the
charts

patchset3: at Borislav's request, changed other references to
common.fullname so the approach is consistent throughout the
configmaps used for initialization.
Along the way, hit a limit of 53 chars on some resource name.
So changed the directory
from the verbose dmaap-bus-controller to the more terse dbc.

Change-Id: I1078003de094fee95c681f7fdaecb567235b7b3e
Signed-off-by: dglFromAtt <dgl@research.att.com>
Issue-ID: DMAAP-904
Signed-off-by: dglFromAtt <dgl@research.att.com>
diff --git a/kubernetes/dmaap/components/dmaap-dr-prov/templates/post-install-job.yaml b/kubernetes/dmaap/components/dmaap-dr-prov/templates/post-install-job.yaml
new file mode 100644
index 0000000..1f7214f
--- /dev/null
+++ b/kubernetes/dmaap/components/dmaap-dr-prov/templates/post-install-job.yaml
@@ -0,0 +1,75 @@
+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}}"
+  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: "{{.Release.Name}}"
+      labels:
+        app.kubernetes.io/managed-by: {{.Release.Service | quote }}
+        app.kubernetes.io/instance: {{.Release.Name | quote }}
+        helm.sh/chart: "{{.Chart.Name}}-{{.Chart.Version}}"
+    spec:
+      restartPolicy: Never
+      containers:
+      - name: post-install-job
+        image: "{{ include "common.repository" . }}/{{ .Values.global.clientImage }}"
+        env:
+        - name: DELAY
+          value: "30"
+        - 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 is important - it matches the DBCL API URI
+        - name: {{ include "common.fullname" . }}-dbc-feeds
+          mountPath: /opt/app/config/feeds/
+        - name: {{ include "common.fullname" . }}-dbc-drpubs
+          mountPath: /opt/app/config/dr_pubs/
+        - name: {{ include "common.fullname" . }}-dbc-drsubs
+          mountPath: /opt/app/config/dr_subs/
+        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.name" . }}-config
+#          configMap:
+#            name: {{ include "common.fullname" . }}-config
+        - name: {{ include "common.fullname" . }}-dbc-feeds
+          configMap:
+            name: {{ include "common.fullname" . }}-dbc-feeds
+        - name: {{ include "common.fullname" . }}-dbc-drpubs
+          configMap:
+            name: {{ include "common.fullname" . }}-dbc-drpubs
+        - name: {{ include "common.fullname" . }}-dbc-drsubs
+          configMap:
+            name: {{ include "common.fullname" . }}-dbc-drsubs
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"