#============LICENSE_START========================================================
# ================================================================================
# Copyright (c) 2021-2022 J. F. Lucas. All rights reserved.
# Copyright (c) 2021-2022 Nokia.  All rights reserved.
# Copyright © 2022 Nordix Foundation
# ================================================================================
# 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
certPostProcessorImage: onap/org.onap.oom.platform.cert-service.oom-certservice-post-processor:2.5.0

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/org.onap.dcaegen2.collectors.hv-ves.hv-collector-main:1.10.0
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: /var/log/ONAP/dcae-hv-ves-collector
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

# directory where TLS certs should be stored
# if absent, no certs will be retrieved and stored
certDirectory: /etc/ves-hv/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: hv-ves-kafka-secret
    externalSecret: '{{ tpl (default "" .Values.config.jaasConfExternalSecret) . }}'
    type: genericKV
    envs:
      - name: sasl.jaas.config
        value: '{{ .Values.config.someConfig }}'
        policy: generate
config:
  someConfig: blah

# CMPv2 certificate
# It is used only when:
# - certDirectory is set
# - global cmpv2Enabled flag is set to true
# - flag useCmpv2Certificates is set to true
# Disabled by default
useCmpv2Certificates: false
certificates:
  - mountPath: /etc/ves-hv/ssl/external
    commonName: dcae-hv-ves-collector
    dnsNames:
      - dcae-hv-ves-collector
      - hv-ves-collector
      - hv-ves
    keystore:
      outputType:
        - jks
      passwordSecretRef:
        name: hv-ves-cmpv2-keystore-password
        key: password
        create: true

# dependencies
readinessCheck:
  wait_for:
    - aaf-cm

# probe configuration
readiness:
  type: exec
  initialDelaySeconds: 5
  periodSeconds: 15
  timeoutSeconds: 2
  command:
  - /opt/ves-hv-collector/healthcheck.sh

# service configuration
service:
  type: NodePort
  name: dcae-hv-ves-collector
  ports:
    - name: http
      port: 6061
      port_protocol: http
      nodePort: 22

#strimzi kafka config
hvVesKafkaUser: dcae-hv-ves-kafka-user

# initial application configuration
applicationConfig:
  logLevel: INFO
  server.idleTimeoutSec: 300
  server.listenPort: 6061
  cbs.requestIntervalSec: 5
  security.sslDisable: false
  security.keys.keyStoreFile: /etc/ves-hv/ssl/cert.jks
  security.keys.keyStorePasswordFile: /etc/ves-hv/ssl/jks.pass
  security.keys.trustStoreFile: /etc/ves-hv/ssl/trust.jks
  security.keys.trustStorePasswordFile: /etc/ves-hv/ssl/trust.pass
  streams_publishes:
    ves-3gpp-fault-supervision:
      type: kafka
      kafka_info:
        bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
        topic_name: SEC_3GPP_FAULTSUPERVISION_OUTPUT
    ves-3gpp-provisioning:
      type: kafka
      kafka_info:
        bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
        topic_name: SEC_3GPP_PROVISIONING_OUTPUT
    ves-3gpp-heartbeat:
      type: kafka
      kafka_info:
        bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
        topic_name: SEC_3GPP_HEARTBEAT_OUTPUT
    ves-3gpp-performance-assurance:
      type: kafka
      kafka_info:
        bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
        topic_name: SEC_3GPP_PERFORMANCEASSURANCE_OUTPUT
    perf3gpp:
      type: kafka
      kafka_info:
        bootstrap_servers: ${KAFKA_BOOTSTRAP_SERVERS}
        topic_name: HV_VES_PERF3GPP

applicationEnv:
  JAVA_OPTS: '-Dlogback.configurationFile=/etc/ONAP/dcae-hv-ves-collector/logback.xml'
  CBS_CLIENT_CONFIG_PATH: '/app-config-input/application_config.yaml'
  KAFKA_BOOTSTRAP_SERVERS: '{{ include "common.release" . }}-strimzi-kafka-bootstrap:9092'
  USE_SCRAM: 'true'
  JAAS_CONFIG:
    secretUid: hv-ves-kafka-secret
    key: sasl.jaas.config

# 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: {}

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