1 # Copyright © 2017 Amdocs, Bell Canada
 
   2 # Modifications Copyright © 2018 AT&T
 
   4 # Licensed under the Apache License, Version 2.0 (the "License");
 
   5 # you may not use this file except in compliance with the License.
 
   6 # You may obtain a copy of the License at
 
   8 #       http://www.apache.org/licenses/LICENSE-2.0
 
  10 # Unless required by applicable law or agreed to in writing, software
 
  11 # distributed under the License is distributed on an "AS IS" BASIS,
 
  12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  13 # See the License for the specific language governing permissions and
 
  14 # limitations under the License.
 
  16 apiVersion: apps/v1beta1
 
  19   name: {{ include "common.fullname" . }}
 
  20   namespace: {{ include "common.namespace" . }}
 
  22     app: {{ include "common.name" . }}
 
  23     chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}
 
  24     release: {{ .Release.Name }}
 
  25     heritage: {{ .Release.Service }}
 
  27   serviceName: {{ .Values.service.name }}
 
  28   replicas: {{ .Values.replicaCount }}
 
  32       maxUnavailable: {{ .Values.maxUnavailable }}
 
  33   podManagementPolicy: Parallel
 
  37         app: {{ include "common.name" . }}
 
  38         release: {{ .Release.Name }}
 
  41          preferredDuringSchedulingIgnoredDuringExecution:
 
  49                     - {{ include "common.name" . }}
 
  50              topologyKey: "kubernetes.io/hostname"
 
  51       {{- if .Values.nodeAffinity }}
 
  53         {{ toYaml .Values.nodeAffinity | indent 10 }}
 
  56       - name: {{ include "common.name" . }}-permission-fixer
 
  61           chown -R 1000:1000 /tmp/zookeeper/apikeys;
 
  62         image: "{{ .Values.busyBoxRepository }}/{{ .Values.busyBoxImage }}"
 
  63         imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
 
  65         - mountPath: /tmp/zookeeper/apikeys
 
  68       - name: {{ include "common.name" . }}
 
  69         image: "{{ include "common.repository" . }}/{{ .Values.image }}"
 
  70         imagePullPolicy:  {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
 
  72 {{ include "common.resources" . | indent 12 }}
 
  74         - containerPort: {{ .Values.service.clientPort }}
 
  75           name: {{ .Values.service.clientPortName }}
 
  76         - containerPort: {{ .Values.service.serverPort }}
 
  77           name: {{ .Values.service.serverPortName }}
 
  78         - containerPort: {{ .Values.service.leaderElectionPort }}
 
  79           name: {{ .Values.service.leaderElectionPortName }}
 
  80         {{ if eq .Values.liveness.enabled true }}
 
  86             - "zookeeper-ready.sh 2181"
 
  87           initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
 
  88           periodSeconds: {{ .Values.liveness.periodSeconds }}
 
  89           timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
 
  96             - "zookeeper-ready.sh 2181"
 
  97           initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
 
  98           periodSeconds: {{ .Values.readiness.periodSeconds }}
 
  99           timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
 
 102           value: "{{ .Values.replicaCount }}"
 
 103         - name: ZK_INIT_LIMIT
 
 104           value: "{{ .Values.zk.initLimit }}"
 
 105         - name: ZK_SYNC_LIMIT
 
 106           value: "{{ .Values.zk.syncLimit }}"
 
 108         - mountPath: /etc/localtime
 
 111         - mountPath: /var/lib/zookeeper/data
 
 113       {{- if .Values.tolerations }}
 
 115         {{ toYaml .Values.tolerations | indent 10 }}
 
 121 {{ if not .Values.persistence.enabled }}
 
 122       - name: zookeeper-data
 
 125   volumeClaimTemplates:
 
 129           app:  {{ include "common.fullname" . }}
 
 130           chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
 
 131           release: "{{ .Release.Name }}"
 
 132           heritage: "{{ .Release.Service }}"
 
 135           - {{ .Values.persistence.accessMode | quote }}
 
 136         storageClassName: {{ include "common.storageClass" . }}
 
 139             storage: {{ .Values.persistence.size | quote }}
 
 142       - name: "{{ include "common.namespace" . }}-docker-registry-key"