# 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.

#{{ if not .Values.disableAaiAaiResources }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: aai-resources
  namespace: "{{ .Values.nsPrefix }}"
spec:
  replicas: {{ .Values.aaiResourceReplicas }}
  selector:
    matchLabels:
      app: aai-resources
  template:
    metadata:
      labels:
        app: aai-resources
      name: aai-resources
      annotations:
        msb.onap.org/service-info: '[
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v11",
              "url": "/aai/v11/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v12",
              "url": "/aai/v12/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-cloudInfrastructure",
              "version": "v13",
              "url": "/aai/v13/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/cloud-infrastructure"
          },
          {
              "serviceName": "_aai-business",
              "version": "v11",
              "url": "/aai/v11/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/business"
          },
          {
              "serviceName": "_aai-business",
              "version": "v12",
              "url": "/aai/v12/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/business"
          },
          {
              "serviceName": "_aai-business",
              "version": "v13",
              "url": "/aai/v13/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/business"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v11",
              "url": "/aai/v11/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/actions"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v12",
              "url": "/aai/v12/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/actions"
          },
          {
              "serviceName": "_aai-actions",
              "version": "v13",
              "url": "/aai/v13/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/actions"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v11",
              "url": "/aai/v11/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/service-design-and-creation"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v12",
              "url": "/aai/v12/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/service-design-and-creation"
          },
          {
              "serviceName": "_aai-service-design-and-creation",
              "version": "v13",
              "url": "/aai/v13/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/service-design-and-creation"
          },
          {
              "serviceName": "_aai-network",
              "version": "v11",
              "url": "/aai/v11/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/network"
          },
          {
              "serviceName": "_aai-network",
              "version": "v12",
              "url": "/aai/v12/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/network"
          },
          {
              "serviceName": "_aai-network",
              "version": "v13",
              "url": "/aai/v13/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/network"
          },
          {
              "serviceName": "_aai-externalSystem",
              "version": "v11",
              "url": "/aai/v11/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v11/external-system"
          },      
          {
              "serviceName": "_aai-externalSystem",
              "version": "v12",
              "url": "/aai/v12/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v12/external-system"
          },      
          {
              "serviceName": "_aai-externalSystem",
              "version": "v13",
              "url": "/aai/v13/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1",
              "path": "/aai/v13/external-system"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v11",
              "url": "/aai/v11/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v12",
              "url": "/aai/v12/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-cloudInfrastructure",
              "version": "v13",
              "url": "/aai/v13/cloud-infrastructure",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v11",
              "url": "/aai/v11/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v12",
              "url": "/aai/v12/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-business",
              "version": "v13",
              "url": "/aai/v13/business",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v11",
              "url": "/aai/v11/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v12",
              "url": "/aai/v12/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-actions",
              "version": "v13",
              "url": "/aai/v13/actions",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v11",
              "url": "/aai/v11/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v12",
              "url": "/aai/v12/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-service-design-and-creation",
              "version": "v13",
              "url": "/aai/v13/service-design-and-creation",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v11",
              "url": "/aai/v11/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v12",
              "url": "/aai/v12/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-network",
              "version": "v13",
              "url": "/aai/v13/network",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },
          {
              "serviceName": "aai-externalSystem",
              "version": "v11",
              "url": "/aai/v11/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },      
          {
              "serviceName": "aai-externalSystem",
              "version": "v12",
              "url": "/aai/v12/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          },      
          {
              "serviceName": "aai-externalSystem",
              "version": "v13",
              "url": "/aai/v13/external-system",
              "protocol": "REST",
              "port": "8447",
              "enable_ssl": true,
              "lb_policy":"ip_hash",
              "visualRange": "1"
          }      
          ]'
    spec:
      initContainers:
      - command:
        - /root/ready.py
        args:
        - --container-name
        - hbase
        env:
        - name: NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: {{ .Values.image.readiness }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        name: aai-resources-readiness
      containers:
      - name: aai-resources
        image: "{{ .Values.image.aaiResourcesImage }}:{{ .Values.image.aaiResourcesVersion}}"
        imagePullPolicy: {{ .Values.pullPolicy }}
        env:
        - name: CHEF_BRANCH
          value: master
        - name: AAI_CHEF_ENV
          value: simpledemo
        - name: AAI_CORE_VERSION
          value: {{ .Values.aaicoreversion }}
        - name: AAI_CHEF_LOC
          value: /var/chef/aai-data/environments
        - name: CHEF_GIT_URL
          value: http://gerrit.onap.org/r/aai
        - name: HBASE_STARTUP_ARTIFICIAL_DELAY
          value: "60"
        volumeMounts:
        - mountPath: /etc/localtime
          name: localtime
          readOnly: true
        - mountPath: /var/chef/aai-data/chef-config/dev/.knife/solo.rb
          subPath: solo.rb
          name: aai-chef-config
        - mountPath: /var/chef/aai-data/environments/
          name: aai-data
        - mountPath: /var/log/onap
          name: aai-resources-logs
        - mountPath: /opt/app/aai-resources/bundleconfig/etc/logback.xml
          name: aai-resources-log-conf
          subPath: logback.xml
        ports:
        - containerPort: 8447
        readinessProbe:
          tcpSocket:
            port: 8447
          initialDelaySeconds: 5
          periodSeconds: 10
      - name: filebeat-onap-aai-resources
        image: {{ .Values.image.filebeat }}
        imagePullPolicy: {{ .Values.pullPolicy }}
        volumeMounts:
        - mountPath: /usr/share/filebeat/filebeat.yml
          subPath: filebeat.yml
          name: filebeat-conf
        - mountPath: /var/log/onap
          name: aai-resources-logs
        - mountPath: /usr/share/filebeat/data
          name: aai-resources-filebeat
      volumes:
      - name: localtime
        hostPath:
          path: /etc/localtime
      - name: aai-chef-config
        configMap:
          name: aai-chef-config-configmap
      - name: aai-data
        configMap:
          name: aai-resources-environments-configmap
      - name: filebeat-conf
        configMap:
          name: aai-filebeat-configmap
      - name: aai-resources-logs
        emptyDir: {}
      - name: aai-resources-filebeat
        emptyDir: {}
      - name: aai-resources-log-conf
        configMap:
         name: aai-resources-log-configmap
      restartPolicy: Always
      imagePullSecrets:
      - name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}

