[COMMON][MUSIC] Uses new tpls for repos / images
[oom.git] / kubernetes / common / music / components / music-cassandra / templates / job.yaml
diff --git a/kubernetes/common/music/components/music-cassandra/templates/job.yaml b/kubernetes/common/music/components/music-cassandra/templates/job.yaml
new file mode 100644 (file)
index 0000000..3cf1ae3
--- /dev/null
@@ -0,0 +1,90 @@
+{{/*
+# Copyright © 2018  AT&T, Amdocs, Bell Canada Intellectual Property.  All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#       http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*/}}
+
+apiVersion: batch/v1
+kind: Job
+metadata:
+  name: {{ include "common.fullname" . }}-config
+  namespace: {{ include "common.namespace" . }}
+  labels:
+    app: {{ include "common.name" . }}-job
+    chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
+    release: {{ include "common.release" . }}
+    heritage: {{ .Release.Service }}
+spec:
+  template:
+    metadata:
+      labels:
+        app: {{ include "common.name" . }}-job
+        release: {{ include "common.release" . }}
+    spec:
+      restartPolicy: Never
+      initContainers:
+      - name: {{ include "common.name" . }}-readiness
+        image: {{ include "repositoryGenerator.image.readiness" . }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        command:
+        - /app/ready.py
+        args:
+        - --timeout
+        - "{{ .Values.readinessTimeout }}"
+        - --container-name
+        - music-cassandra
+        env:
+        - name: NAMESPACE
+          valueFrom:
+            fieldRef:
+              apiVersion: v1
+              fieldPath: metadata.namespace
+      containers:
+      - name: {{ include "common.name" . }}-update-job
+        image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.job.image }}
+        imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+        env:
+        - name: CASS_HOSTNAME
+          value: "{{ .Values.job.host }}"
+        - name: USERNAME
+          value: "{{ .Values.cql.adminUser.username }}"
+        - name: PORT
+          value: "{{ .Values.job.port }}"
+        - name: PASSWORD
+          value: "{{ .Values.cql.adminUser.password }}"
+        - name: TIMEOUT
+          value: "{{ .Values.job.timeout }}"
+        - name: DELAY
+          value: "{{ .Values.job.delay }}"
+        volumeMounts:
+        # Admin cql Files that setup Admin Keyspace and Change Admin user.
+        - name: {{ include "common.name" . }}-cql
+          mountPath: /cql/admin.cql
+          subPath: admin.cql
+        - name: {{ include "common.name" . }}-cql
+          mountPath: /cql/admin_pw.cql
+          subPath: admin_pw.cql
+        # This is where Apps or MISC will put any of their own startup cql scripts.
+        - name: {{ include "common.name" . }}-extra-cql
+          mountPath: /cql/extra
+      volumes:
+      - name: {{ include "common.name" . }}-cql
+        configMap:
+          name: {{ include "common.fullname" . }}-cql
+      - name: {{ include "common.name" . }}-extra-cql
+        configMap:
+          name: {{ include "common.fullname" . }}-extra-cql
+      restartPolicy: Never
+      imagePullSecrets:
+      - name: "{{ include "common.namespace" . }}-docker-registry-key"
+