# 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: 1.1.0-SNAPSHOT
        - 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 }}
