#============LICENSE_START========================================================
# ================================================================================
# Copyright (c) 2021 J. F. Lucas. All rights reserved.
# Copyright (c) 2021 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

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


#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/org.onap.dcaegen2.analytics.tca-gen2.dcae-analytics-tca-web:1.3.0
pullPolicy: Always

# log directory where logging sidecar should look for log files
# if absent, no sidecar will be deployed
logDirectory: /opt/logs/dcae-analytics-tca

# directory where TLS certs should be stored
# if absent, no certs will be retrieved and stored
certDirectory: /etc/tca-gen2/ssl

# 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

secrets:
  - uid: &aaiCredsUID aaicreds
    type: basicAuth
    login: '{{ .Values.aaiCreds.user }}'
    password: '{{ .Values.aaiCreds.password }}'
    passwordPolicy: required

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

# probe configuration
readiness:
  initialDelaySeconds: 10
  periodSeconds: 30
  path: /actuator/health
  scheme: HTTP
  port: 9091

# service configuration
service:
  type: ClusterIP
  name: dcae-tcagen2
  ports:
    - port: 9091
      name: http

# Policy configuraiton properties
# if enabled, policy-sync side car will be deployed
#dcaePolicySyncImage: onap/org.onap.dcaegen2.deployments.dcae-services-policy-sync:1.0.1
#policies:
#  duration: 300
#  policyID: |
#    '["onap.vfirewall.tca","abc"]'
#  filter: |
#    '["DCAE.Config_vfirewall_.*"]'

aaiCreds:
  user: DCAE
  password: DCAE

credentials:
- name: AAI_USERNAME
  uid: *aaiCredsUID
  key: login
- name: AAI_PASSWORD
  uid: *aaiCredsUID
  key: password

# initial application configuration
applicationConfig:
  service_calls: []
  streams_publishes:
    tca_handle_out:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.DCAE_CL_OUTPUT
      type: message_router
  streams_subscribes:
    tca_handle_in:
      dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.VES_MEASUREMENT_OUTPUT
      type: message_router
  spring.data.mongodb.uri: mongodb://dcae-mongohost/dcae-tcagen2
  streams_subscribes.tca_handle_in.consumer_group: cg1
  streams_subscribes.tca_handle_in.consumer_ids[0]: c0
  streams_subscribes.tca_handle_in.consumer_ids[1]: c1
  streams_subscribes.tca_handle_in.message_limit: 50000
  streams_subscribes.tca_handle_in.polling.auto_adjusting.max: 60000
  streams_subscribes.tca_handle_in.polling.auto_adjusting.min: 30000
  streams_subscribes.tca_handle_in.polling.auto_adjusting.step_down: 30000
  streams_subscribes.tca_handle_in.polling.auto_adjusting.step_up: 10000
  streams_subscribes.tca_handle_in.polling.fixed_rate: 0
  streams_subscribes.tca_handle_in.timeout: -1
  tca.aai.enable_enrichment: true
  tca.aai.generic_vnf_path: aai/v11/network/generic-vnfs/generic-vnf
  tca.aai.node_query_path: aai/v11/search/nodes-query
  tca.aai.password: ${AAI_PASSWORD}
  tca.aai.url: http://aai
  tca.aai.username: ${AAI_USERNAME}
  tca.policy: '{"domain":"measurementsForVfScaling","metricsPerEventName":[{"eventName":"vFirewallBroadcastPackets","controlLoopSchemaType":"VM","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"LESS_OR_EQUAL","severity":"MAJOR","closedLoopEventStatus":"ONSET"},{"closedLoopControlName":"ControlLoop-vFirewall-d0a1dfc6-94f5-4fd4-a5b5-4630b438850a","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":700,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"vLoadBalancer","controlLoopSchemaType":"VM","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vDNS-6f37f56d-a87d-4b85-b6a9-cc953cf779b3","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.vNicPerformanceArray[*].receivedTotalPacketsDelta","thresholdValue":300,"direction":"GREATER_OR_EQUAL","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]},{"eventName":"Measurement_vGMUX","controlLoopSchemaType":"VNF","policyScope":"DCAE","policyName":"DCAE.Config_tca-hi-lo","policyVersion":"v0.0.1","thresholds":[{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"EQUAL","severity":"MAJOR","closedLoopEventStatus":"ABATED"},{"closedLoopControlName":"ControlLoop-vCPE-48f0c2c3-a172-4192-9ae3-052274181b6e","version":"1.0.2","fieldPath":"$.event.measurementsForVfScalingFields.additionalMeasurements[*].arrayOfFields[0].value","thresholdValue":0,"direction":"GREATER","severity":"CRITICAL","closedLoopEventStatus":"ONSET"}]}]}'
  tca.processing_batch_size: 10000
  tca.enable_abatement: true
  tca.enable_ecomp_logging: true

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 2
      memory: 2Gi
    requests:
      cpu: 1
      memory: 1Gi
  large:
    limits:
      cpu: 4
      memory: 4Gi
    requests:
      cpu: 2
      memory: 2Gi
  unlimited: {}
