| {{/* |
| # Copyright © 2017 Amdocs, Bell Canada |
| # Modifications Copyright © 2018 AT&T |
| # |
| # 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: apps/v1 |
| kind: Deployment |
| metadata: |
| name: {{ include "common.fullname" . }} |
| namespace: {{ include "common.namespace" . }} |
| labels: |
| app: {{ include "common.name" . }} |
| chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} |
| release: {{ include "common.release" . }} |
| heritage: {{ .Release.Service }} |
| spec: |
| replicas: {{ .Values.replicaCount }} |
| selector: |
| matchLabels: |
| app: {{ include "common.name" . }} |
| template: |
| metadata: |
| labels: |
| app: {{ include "common.name" . }} |
| release: {{ include "common.release" . }} |
| name: {{ include "common.name" . }} |
| spec: |
| imagePullSecrets: |
| - name: "{{ include "common.namespace" . }}-docker-registry-key" |
| initContainers: |
| - name: {{ include "common.name" . }}-chown |
| image: {{ .Values.global.busyboxRepository | default .Values.busyboxRepository }}/{{ .Values.global.busyboxImage | default .Values.busyboxImage }} |
| command: |
| - sh |
| args: |
| - -c |
| - | |
| cp -r -L /tmp/consul/config/* /consul/config/ |
| chown -R {{ .Values.consulUID }}:{{ .Values.consulGID }} /consul/config |
| ls -la /consul/config |
| volumeMounts: |
| - mountPath: /tmp/consul/config |
| name: consul-agent-config |
| - mountPath: /consul/config |
| name: consul-agent-config-dir |
| containers: |
| - image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }} |
| securityContext: |
| runAsUser: {{ .Values.securityContext.runAsUser }} |
| runAsGroup: {{ .Values.securityContext.runAsGroup }} |
| command: |
| - docker-entrypoint.sh |
| args: |
| - agent |
| - -client |
| - 0.0.0.0 |
| - -enable-script-checks |
| - -retry-join |
| - {{ .Values.consulServer.nameOverride }} |
| name: {{ include "common.name" . }} |
| env: |
| - name: SDNC_ODL_COUNT |
| value: "{{ .Values.sdnc.replicaCount }}" |
| - name: SDNC_IS_PRIMARY_CLUSTER |
| value: "{{ .Values.sdnc.config.isPrimaryCluster }}" |
| volumeMounts: |
| - mountPath: /consul/config |
| name: consul-agent-config-dir |
| - mountPath: /consul/scripts |
| name: consul-agent-scripts-config |
| - mountPath: /consul/certs |
| name: consul-agent-certs-config |
| resources: {{ include "common.resources" . | nindent 10 }} |
| volumes: |
| - name: consul-agent-config-dir |
| emptyDir: {} |
| - configMap: |
| name: {{ include "common.fullname" . }}-configmap |
| name: consul-agent-config |
| - configMap: |
| name: {{ include "common.fullname" . }}-scripts-configmap |
| defaultMode: 0755 |
| name: consul-agent-scripts-config |
| - secret: |
| secretName: {{ include "common.fullname" . }}-certs-secret |
| name: consul-agent-certs-config |