+{{/*
#============LICENSE_START========================================================
# ================================================================================
-# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright © 2018 Amdocs, Bell Canada
+# Copyright (c) 2020-2021 J. F. Lucas. 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.
# See the License for the specific language governing permissions and
# limitations under the License.
# ============LICENSE_END=========================================================
+*/}}
-apiVersion: extensions/v1beta1
+apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "common.fullname" . }}
heritage: {{ .Release.Service }}
spec:
replicas: 1
+ selector:
+ matchLabels:
+ app: {{ include "common.name" . }}
template:
metadata:
labels:
- ip: "127.0.0.1"
hostnames:
- "dcae-cloudify-manager"
+ # Cloudify requires a fixed hostname across restarts
+ hostname: dcae-cloudify-manager
initContainers:
- name: {{ include "common.name" . }}-readiness
- image: {{ .Values.global.readinessRepository }}/{{ .Values.global.readinessImage }}
+ image: {{ include "repositoryGenerator.image.readiness" . }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
command:
- - /root/ready.py
+ - /app/ready.py
args:
- --container-name
- aaf-cm
+ - --container-name
+ - consul-server
- "-t"
- "15"
env:
apiVersion: v1
fieldPath: metadata.namespace
- name: {{ include "common.name" . }}-multisite-init
- image: {{ include "common.repository" . }}/{{ .Values.multisiteInitImage }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.multisiteInitImage }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
args:
- --namespace
- {{ include "common.namespace" . }}
- --configmap
- {{ .Values.multisiteConfigMapName }}
- restartPolicy: Never
+ - name: init-consul
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.consulLoaderImage }}
+ imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
+ args:
+ - --key
+ - k8s-plugin|/plugin-configs/k8s-plugin.json
+ - --key
+ - dmaap-plugin|/plugin-configs/dmaap-plugin.json
+ resources: {}
+ volumeMounts:
+ - mountPath: /plugin-configs
+ name: plugin-configs
- name: init-tls
env:
- name: POD_IP
fieldPath: status.podIP
- name: aaf_locator_fqdn
value: dcae
- image: {{ .Values.global.tlsRepository }}/{{ .Values.global.tlsImage }}
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.global.tlsImage }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
resources: {}
volumeMounts:
name: tls-info
{{- if .Values.persistence.enabled }}
- name: remove-lost-found
- image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}"
+ image: {{ include "repositoryGenerator.image.busybox" . }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
volumeMounts:
- mountPath: /cfy-persist
{{- end }}
containers:
- name: {{ include "common.name" . }}
- image: "{{ include "common.repository" . }}/{{ .Values.image }}"
+ image: {{ include "repositoryGenerator.repository" . }}/{{ .Values.image }}
imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }}
env:
- name: REQUESTS_CA_BUNDLE
port: {{ .Values.service.internalPort }}
initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }}
periodSeconds: {{ .Values.liveness.periodSeconds }}
+ timeoutSeconds: {{ .Values.liveness.timeoutSeconds }}
{{ end }}
readinessProbe:
exec:
- /scripts/readiness-check.sh
initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }}
periodSeconds: {{ .Values.readiness.periodSeconds }}
+ timeoutSeconds: {{ .Values.readiness.timeoutSeconds }}
volumeMounts:
- mountPath: /opt/onap/config.txt
subPath: config.txt
name: cm-persistent
- mountPath: /opt/onap/certs
name: tls-info
+ - mountPath: /opt/onap/cm-secrets
+ name: cm-secrets
+ readOnly: true
securityContext:
privileged: True
+ serviceAccountName: {{ include "common.fullname" (dict "suffix" "create" "dot" . )}}
volumes:
- name: {{ include "common.fullname" . }}-config
configMap:
- name: {{ include "common.fullname" .}}-kubeconfig
configMap:
name: {{ .Values.multisiteConfigMapName }}
+ - name: plugin-configs
+ configMap:
+ name: {{ include "common.fullname" . }}-plugins
- name: dcae-token
secret:
secretName: dcae-token
{{- end }}
- emptyDir: {}
name: tls-info
+ - name: cm-secrets
+ secret:
+ secretName: {{ include "common.secret.getSecretNameFast" (dict "global" . "uid" "cm-pass") }}
imagePullSecrets:
- name: "{{ include "common.namespace" . }}-docker-registry-key"