Merge "[AAI] Make aai log level configurable"
[oom.git] / kubernetes / common / readinessCheck / templates / _readinessCheck.tpl
index 6a1a1eb..51791fe 100644 (file)
       - aaf-cm
       - aaf-service
 
+  the powerful one allows also to wait for pod names with this
+  (has to start with the given pod name):
+  wait_for:
+    name: myname
+    pods:
+      - test-pod
+
+  the powerful one allows also to wait for a service to be
+  available, which means all pods are deployed, which are
+  selected by the service definition:
+  wait_for:
+    name: myservice
+    services:
+      - mariadb-galera-service
+
+  the powerful one allows also to wait for pods with the
+  given "app" label:
+  wait_for:
+    name: myname
+    apps:
+      - mariadb-galera
+
+  the powerful one allows also to wait for jobs with this:
+  wait_for:
+    name: myname
+    jobs:
+      - '{{ include "common.release" . }}-the-job'
+
+  Be careful, as on the example above, the job name may have a "non fixed" name
+  and thus don't forget to use templates if needed
 
   The function can takes below arguments (inside a dictionary):
      - .dot : environment (.)
      - .initRoot : the root dictionary of readinessCheck submodule
                    (default to .Values.readinessCheck)
-     - .wait_for : list of containers / jobs to wait for (default to
-                   .Values.wait_for)
+     - .wait_for : list of service / containers / pods /apps / jobs to wait for
+                   (default to .Values.wait_for)
 
   Example calls:
     {{ include "common.readinessCheck.waitFor" . }}
 {{-   $subchartDot := fromJson (include "common.subChartDot" (dict "dot" $dot "initRoot" $initRoot)) }}
 {{-   $wait_for := default $initRoot.wait_for .wait_for -}}
 {{-   $containers := index (ternary (dict "containers" $wait_for) $wait_for (kindIs "slice" $wait_for)) "containers" -}}
+{{-   $services := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "services" -}}
+{{-   $pods := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "pods" -}}
+{{-   $apps := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "apps" -}}
 {{-   $namePart := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "name" -}}
+{{-   $jobs := index (ternary (dict) $wait_for (kindIs "slice" $wait_for)) "jobs" -}}
 - name: {{ include "common.name" $dot }}{{ ternary "" (printf "-%s" $namePart) (empty $namePart) }}-readiness
-  image: "{{ include "common.repository" $subchartDot }}/{{ $subchartDot.Values.global.readinessImage }}"
+  image: {{ include "repositoryGenerator.image.readiness" $subchartDot }}
   imagePullPolicy: {{ $subchartDot.Values.global.pullPolicy | default $subchartDot.Values.pullPolicy }}
+  securityContext:
+    runAsUser: {{ $subchartDot.Values.user }}
+    runAsGroup: {{ $subchartDot.Values.group }}
   command:
   - /app/ready.py
   args:
-  {{- range $container := $containers }}
+  {{- range $container := default (list) $containers }}
   - --container-name
   - {{ tpl $container $dot }}
   {{- end }}
+  {{- range $pod := default (list) $pods }}
+  - --pod-name
+  - {{ tpl $pod $dot }}
+  {{- end }}
+  {{- range $service := default (list) $services }}
+  - --service-name
+  - {{ tpl $service $dot }}
+  {{- end }}
+  {{- range $app := default (list) $apps }}
+  - --app-name
+  - {{ tpl $app $dot }}
+  {{- end }}
+  {{- range $job := $jobs }}
+  - --job-name
+  - {{ tpl $job $dot }}
+  {{- end }}
   env:
   - name: NAMESPACE
+  {{- if $subchartDot.Values.namespace }}
+    value: {{ $subchartDot.Values.namespace }}
+  {{- else }}
     valueFrom:
       fieldRef:
         apiVersion: v1
         fieldPath: metadata.namespace
+  {{- end }}
   resources:
     limits:
       cpu: {{ $subchartDot.Values.limits.cpu }}