# Copyright © 2017 Amdocs, Bell Canada # # 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: extensions/v1beta1 kind: Deployment metadata: labels: app: {{ include "common.name" . }} chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} release: {{ include "common.release" . }} heritage: {{ .Release.Service }} name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} spec: replicas: {{ .Values.global.aaf.hello.replicas }} template: metadata: labels: app: {{ include "common.name" . }} release: {{ include "common.release" . }} spec: volumes: - name: localtime hostPath: path: /etc/localtime - name: aaf-hello-vol {{- if and .Values.persistence.enabled }} persistentVolumeClaim: claimName: {{ include "common.release" . }}-aaf-hello-pvc {{- else }} emptyDir: {} {{- end }} imagePullSecrets: - name: "{{ include "common.namespace" . }}-docker-registry-key" initContainers: - name: fix-permission command: ["/bin/sh","-c","chmod -R 775 /opt/app/osaaf/local && chown -R 1000:1000 /opt/app/osaaf"] image: "{{ .Values.global.busyboxRepository }}/{{ .Values.global.busyboxImage }}" imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf/local" name: aaf-hello-vol - name: {{ include "common.name" . }}-config-container image: {{ .Values.global.repository }}/{{.Values.aaf_init.image}} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} command: ["bash","-c","cd /opt/app/aaf_config && bin/agent.sh"] # command: ["bash","-c","cd /opt/app/aaf_config && echo Sleeping && sleep 480"] # command: ["bash","-c","chown 1000:1000 /opt/app/osaaf && cd /opt/app/aaf_config && sleep 480"] volumeMounts: - mountPath: "/opt/app/osaaf/local" name: aaf-hello-vol env: - name: APP_FQI value: "{{ .Values.aaf_init.fqi }}" - name: aaf_locate_url value: "https://aaf-locate.{{ .Release.Namespace}}:{{.Values.global.aaf.locate.internal_port}}" - name: aaf_locator_container value: "oom" - name: aaf_locator_container_ns value: "{{ .Release.Namespace }}" # This should the APP's FQDN to be put in Locator # This MUST match what is entered for AAF Certificate Artifacts - name: aaf_locator_fqdn value: "{{.Values.aaf_init.fqdn}}" # Hello specific. Clients don't don't need this, unless Registering with AAF Locator # This should be the APP's PUBLIC FQDN, if applicable - name: aaf_locator_public_fqdn value: "{{.Values.aaf_init.locator_public_fqdn}}" - name: LATITUDE value: "{{ .Values.aaf_init.cadi_latitude }}" - name: LONGITUDE value: "{{ .Values.aaf_init.cadi_longitude }}" # Note: We want to put this in Secrets or at LEAST ConfigMaps - name: "DEPLOY_FQI" value: "deployer@people.osaaf.org" # Note: want to put this on Nodes, evenutally - name: "DEPLOY_PASSWORD" value: "demo123456!" # CONTAINER Definition containers: - name: {{ include "common.name" . }} command: ["bash","-c","cd /opt/app/aaf && if [ ! -d /opt/app/osaaf/etc ]; then cp -Rf etc logs /opt/app/osaaf; fi && exec bin/hello"] image: {{ .Values.global.repository }}/{{.Values.service.image }} imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} volumeMounts: - mountPath: "/opt/app/osaaf/local" name: aaf-hello-vol - mountPath: /etc/localtime name: localtime readOnly: true {{- if eq .Values.liveness.enabled true }} livenessProbe: tcpSocket: port: {{ .Values.service.port }} initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} periodSeconds: {{ .Values.liveness.periodSeconds }} {{ end -}} readinessProbe: tcpSocket: port: {{ .Values.service.port }} initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} periodSeconds: {{ .Values.readiness.periodSeconds }} resources: {{ include "common.resources" . | indent 12 }} {{- if .Values.nodeSelector }} nodeSelector: {{ toYaml .Values.nodeSelector | indent 10 }} {{- end -}} {{- if .Values.affinity }} affinity: {{ toYaml .Values.affinity | indent 10 }} {{- end }}