Merge "[AAI] Add model-loader tracing config"
[oom.git] / kubernetes / aai / components / aai-traversal / templates / job.yaml
1 {{/*
2 # Copyright (c) 2017-2018 AT&T
3 # Modifications Copyright (c) 2018 Amdocs, Bell Canada
4 # Modifications Copyright (c) 2020 Nokia, Orange
5 # Modifications Copyright © 2023 Nordix Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #       http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 */}}
19
20 {{ if .Values.global.jobs.updateQueryData.enabled }}
21
22 apiVersion: batch/v1
23 kind: Job
24 metadata:
25   name: {{ include "common.fullname" . }}-update-query-data
26   namespace: {{ include "common.namespace" . }}
27   labels:
28     app: {{ include "common.name" . }}
29     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
30     release: {{ include "common.release" . }}
31     heritage: {{ .Release.Service }}
32 {{ if .Values.global.jobs.migration.enabled }}
33   annotations:
34     "helm.sh/hook": post-upgrade,post-rollback,post-install
35     "helm.sh/hook-weight": "2"
36     "helm.sh/hook-delete-policy": before-hook-creation
37 {{ end }}
38 spec:
39   template:
40     metadata:
41       labels:
42         app: {{ include "common.name" . }}-job
43         release: {{ include "common.release" . }}
44       name: {{ include "common.name" . }}
45     spec:
46       initContainers:
47       - command:
48         - /app/ready.py
49         args:
50         - --service-name
51         - aai
52         env:
53         - name: NAMESPACE
54           valueFrom:
55             fieldRef:
56               apiVersion: v1
57               fieldPath: metadata.namespace
58         image: {{ include "repositoryGenerator.image.readiness" . }}
59         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
60         name: {{ include "common.name" . }}-readiness
61         resources:
62           limits:
63             cpu: "100m"
64             memory: "500Mi"
65           requests:
66             cpu: "3m"
67             memory: "20Mi"
68       containers:
69       - name: {{ include "common.name" . }}-job
70         image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
71         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
72         command:
73         - bash
74         - "-c"
75         - |
76            set -x
77            if [ ! -d /opt/aai/logroot/AAI-GQ/misc ]; then mkdir -p /opt/aai/logroot/AAI-GQ/misc; fi
78            until nc -w10 -z -v aai.{{.Release.Namespace}} 80; do echo "Retrying to reach aai on port 80"; done;
79            bash -x /opt/app/aai-traversal/docker-entrypoint.sh install/updateQueryData.sh ;
80            {{ include "common.serviceMesh.killSidecar" . | indent 11 | trim }}
81
82         env:
83         - name: LOCAL_USER_ID
84           value: {{ .Values.global.config.userId | quote }}
85         - name: LOCAL_GROUP_ID
86           value: {{ .Values.global.config.groupId | quote }}
87         resources: {{ include "common.resources" . | nindent 10 }}
88         volumeMounts:
89         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-realtime.properties
90           name: {{ include "common.fullname" . }}-config
91           subPath: janusgraph-realtime.properties
92         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/janusgraph-cached.properties
93           name: {{ include "common.fullname" . }}-config
94           subPath: janusgraph-cached.properties
95         - mountPath: /opt/app/aai-traversal/resources/etc/appprops/aaiconfig.properties
96           name: {{ include "common.fullname" . }}-config
97           subPath: aaiconfig.properties
98         - mountPath: /opt/aai/logroot/AAI-GQ/
99           name: {{ include "common.fullname" . }}-logs
100         - mountPath: /opt/aai/logroot/AAI-GQ/misc
101           name: {{ include "common.fullname" . }}-logs-misc
102         - mountPath: /opt/app/aai-traversal/resources/logback.xml
103           name: {{ include "common.fullname" . }}-config
104           subPath: logback.xml
105         - mountPath: /opt/app/aai-traversal/resources/localhost-access-logback.xml
106           name: {{ include "common.fullname" . }}-config
107           subPath: localhost-access-logback.xml
108         - mountPath: /opt/app/aai-traversal/resources/application.properties
109           name: {{ include "common.fullname" . }}-config
110           subPath: application.properties
111         # disable liveness probe when breakpoints set in debugger
112         # so K8s doesn't restart unresponsive container
113       serviceAccountName: {{ include "common.fullname" (dict "suffix" "read" "dot" . )}}
114       volumes:
115       - name: {{ include "common.fullname" . }}-logs
116         emptyDir: {}
117       - name: {{ include "common.fullname" . }}-logs-misc
118         emptyDir: {}
119       {{ include "common.log.volumes" (dict "dot" . "configMapNamePrefix" (tpl .Values.logConfigMapNamePrefix .)) | nindent 6 }}
120       - name: {{ include "common.fullname" . }}-config
121         configMap:
122           name: {{ include "common.fullname" . }}
123       restartPolicy: OnFailure
124       {{- include "common.imagePullSecrets" . | nindent 6 }}
125 {{ end }}