# ================================ LICENSE_START =============================
# ============================================================================
# Copyright (c) 2021-2022 AT&T Intellectual Property. 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.
# 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.
# ================================= LICENSE_END ==============================

#################################################################
# Global Configuration Defaults.
#################################################################
global:
  nodePortPrefix: 302
  nodePortPrefixExt: 304
  centralizedLoggingEnabled: true

#################################################################
# Filebeat Configuration Defaults.
#################################################################
filebeatConfig:
  logstashServiceName: log-ls
  logstashPort: 5044

#################################################################
# InitContainer Images.
#################################################################
tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.1.1

#################################################################
# Application Configuration Defaults.
#################################################################
# Application Image
image: onap/org.onap.dcaegen2.services.mapper.vesadapter.universalvesadaptor:1.3.2
pullPolicy: Always

# Log directory where logging sidecar should look for log files
# if path is set to null sidecar won't be deployed in spite of
# global.centralizedLoggingEnabled setting.
log:
  path: /opt/app/VESAdapter/logs
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

# Directory where TLS certs should be stored
# if absent, no certs will be retrieved and stored
#certDirectory: /opt/app/ves-mapper/etc/certs

# TLS role -- set to true if microservice acts as server
# If true, an init container will retrieve a server cert
# and key from AAF and mount them in certDirectory.
#tlsServer: true

# Dependencies
readinessCheck:
  wait_for:
    - dcae-config-binding-service
    - aaf-cm

# Service Configuration
service:
  type: ClusterIP
  name: dcae-ves-mapper
  ports:
    - name: http
      port: 80
      port_protocol: http

# application environments
applicationEnv:
  LOG4J_FORMAT_MSG_NO_LOOKUPS: 'true'

# Initial Application Configuration
applicationConfig:
  app_preferences:
    collectors:
    - identifier: notification-id
      mapping-files:
      - defaultMappingFile-rcc-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.VesEvent'
        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.Event' beanId='event'
        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
        /><jb:wiring property='pnfRegistrationFields' beanIdRef='pnfRegistrationFields'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader'
        beanId='commonEventHeader' createOnElement='vesevent'><jb:expression property='version'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Version._4_0_1</jb:expression><jb:expression
        property='eventType'>'pnfRegistration'</jb:expression><jb:expression property='vesEventListenerVersion'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.VesEventListenerVersion._7_0_1</jb:expression><jb:expression
        property='eventId' execOnElement='vesevent'>'registration_'+commonEventHeader.ts1</jb:expression><jb:expression
        property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression property='domain'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Domain.PNF_REGISTRATION</jb:expression><jb:expression
        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
        property='sequence' data='0' default='0' decoder='Long' /><jb:expression property='lastEpochMicrosec'
        execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
        property='startEpochMicrosec' execOnElement='vesevent'>commonEventHeader.ts1</jb:expression><jb:expression
        property='priority'>org.onap.dcaegen2.ves.domain.ves70.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
        property='sourceName' execOnElement='vesevent'>pnfRegistrationFields.vendorName+'-'+pnfRegistrationFields.serialNumber</jb:expression></jb:bean><jb:bean
        class='org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields' beanId='pnfRegistrationFields'
        createOnElement='vesevent'><jb:expression property='pnfRegistrationFieldsVersion'>org.onap.dcaegen2.ves.domain.ves70.PnfRegistrationFields.PnfRegistrationFieldsVersion._2_0</jb:expression><jb:value
        property='serialNumber' data='pnfRegistration/serialNumber' /><jb:value property='lastServiceDate'
        data='pnfRegistration/lastServiceDate' /><jb:value property='manufactureDate'
        data='pnfRegistration/manufactureDate' /><jb:value property='modelNumber'
        data='pnfRegistration/modelNumber' /><jb:value property='oamV4IpAddress' data='pnfRegistration/oamV4IpAddress'
        /><jb:value property='oamV6IpAddress' data='pnfRegistration/oamV6IpAddress'
        /><jb:value property='softwareVersion' data='pnfRegistration/softwareVersion'
        /><jb:value property='unitFamily' data='pnfRegistration/unitFamily' /><jb:value
        property='unitType' data='pnfRegistration/unitType' /><jb:value property='vendorName'
        data='pnfRegistration/vendorName' /><jb:wiring property='additionalFields'
        beanIdRef='alarmAdditionalInformation' /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves70.AlarmAdditionalInformation'
        beanId='alarmAdditionalInformation' createOnElement='vesevent'><jb:wiring
        property='additionalProperties' beanIdRef='additionalFields2' /></jb:bean><jb:bean
        beanId='additionalFields2' class='java.util.HashMap' createOnElement='vesevent/pnfRegistration/additionalFields'><jb:value
        data='pnfRegistration/additionalFields/*'/></jb:bean></smooks-resource-list>"
      stream_publisher: ves-pnfRegistration
      stream_subscriber: rcc-notification
    - identifier: notify OID
      mapping-files:
      - defaultMappingFile-snmp-notification: "<?xml version='1.0' encoding='UTF-8'?><smooks-resource-list
        xmlns='http://www.milyn.org/xsd/smooks-1.1.xsd' xmlns:jb='http://www.milyn.org/xsd/smooks/javabean-1.4.xsd'
        xmlns:json='http://www.milyn.org/xsd/smooks/json-1.1.xsd'><json:reader rootName='vesevent'
        keyWhitspaceReplacement='-'><json:keyMap><json:key from='date&amp;time' to='date-and-time'
        /></json:keyMap></json:reader><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.VesEvent'
        beanId='vesEvent' createOnElement='vesevent'><jb:wiring property='event' beanIdRef='event'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.Event' beanId='event'
        createOnElement='vesevent'><jb:wiring property='commonEventHeader' beanIdRef='commonEventHeader'
        /><jb:wiring property='faultFields' beanIdRef='faultFields' /></jb:bean><jb:bean
        class='org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader' beanId='commonEventHeader'
        createOnElement='vesevent'><jb:expression property='version'>'3.0'</jb:expression><jb:expression
        property='eventType'>'FaultField'</jb:expression><jb:expression property='eventId'
        execOnElement='vesevent'>'XXXX'</jb:expression><jb:expression property='reportingEntityName'>'VESMapper'</jb:expression><jb:expression
        property='domain'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Domain.FAULT</jb:expression><jb:expression
        property='eventName' execOnElement='vesevent'>commonEventHeader.domain</jb:expression><jb:value
        property='sequence' data='0' default='0' decoder='Long' /><jb:value property='lastEpochMicrosec'
        data='#/time-received' /><jb:value property='startEpochMicrosec' data='#/time-received'
        /><jb:expression property='priority'>org.onap.dcaegen2.ves.domain.ves54.CommonEventHeader.Priority.NORMAL</jb:expression><jb:expression
        property='sourceName'>'VesAdapter'</jb:expression></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.FaultFields'
        beanId='faultFields' createOnElement='vesevent'><jb:value property='faultFieldsVersion'
        data='2.0' default='2.0' decoder='Double' /><jb:value property='alarmCondition'
        data='#/trap-category' /><jb:expression property='specificProblem'>'SNMP Fault'</jb:expression><jb:expression
        property='vfStatus'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.VfStatus.ACTIVE</jb:expression><jb:expression
        property='eventSeverity'>org.onap.dcaegen2.ves.domain.ves54.FaultFields.EventSeverity.MINOR</jb:expression><jb:wiring
        property='alarmAdditionalInformation' beanIdRef='alarmAdditionalInformationroot'
        /></jb:bean><jb:bean class='java.util.ArrayList' beanId='alarmAdditionalInformationroot'
        createOnElement='vesevent'><jb:wiring beanIdRef='alarmAdditionalInformation'
        /></jb:bean><jb:bean class='org.onap.dcaegen2.ves.domain.ves54.AlarmAdditionalInformation'
        beanId='alarmAdditionalInformation' createOnElement='varbinds/element'><jb:value
        property='name' data='#/varbind_oid' /><jb:value property='value' data='#/varbind_value'
        /></jb:bean></smooks-resource-list>"
      stream_publisher: ves-fault
      stream_subscriber: snmp-notification
  streams_publishes:
    ves-fault:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.SEC_FAULT_OUTPUT
      type: message_router
    ves-pnfRegistration:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.VES_PNFREG_OUTPUT
      type: message_router
  streams_subscribes:
    rcc-notification:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
      type: message_router
    snmp-notification:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.ONAP-COLLECTOR-SNMPTRAP
      type: message_router

# Resource Limit Flavor -By Default Using Small
flavor: small

# Segregation for Different Environment (Small and Large)
resources:
  small:
    limits:
      cpu: 1
      memory: 1Gi
    requests:
      cpu: 1
      memory: 1Gi
  large:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 2
      memory: 2Gi
  unlimited: {}

#Pods Service Account
serviceAccount:
  nameOverride: dcae-ves-mapper
  roles:
    - read
