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

#################################################################
# Secrets Configuration.
#################################################################
secrets:
  - uid: &aafCredsUID aafcreds
    type: basicAuth
    login: '{{ .Values.aafCreds.identity }}'
    password: '{{ .Values.aafCreds.password }}'
    passwordPolicy: required
  - uid: &drSubCredsUID drsubcreds
    type: basicAuth
    login: '{{ .Values.drSubscriberCreds.username }}'
    password: '{{ .Values.drSubscriberCreds.password }}'
    passwordPolicy: required

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

#################################################################
# Application Configuration Defaults.
#################################################################
# Application Image
image: onap/org.onap.dcaegen2.services.pm-mapper:1.8.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/dcaegen2/services/pm-mapper
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

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

# 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:
    containers:
      - aaf-cm
      - dmaap-bc
      - dmaap-provisioning-job
      - dcae-datafile-collector

# Probe Configuration
readiness:
  initialDelaySeconds: 10
  periodSeconds: 15
  timeoutSeconds: 1
  path: /healthcheck
  scheme: HTTP
  port: 8081

# Service Configuration
service:
  type: ClusterIP
  name: dcae-pm-mapper
  both_tls_and_plain: true
  ports:
    - name: https
      port: 8443
      plain_port: 8081
      port_protocol: http

# AAF Credentials
aafCreds:
  identity: dcae@dcae.onap.org
  password: demo123456!

# Data Router Subscriber Credentials
drSubscriberCreds:
  username: username
  password: password

credentials:
- name: AAF_IDENTITY
  uid: *aafCredsUID
  key: login
- name: AAF_PASSWORD
  uid: *aafCredsUID
  key: password
- name: DR_USERNAME
  uid: *drSubCredsUID
  key: login
- name: DR_PASSWORD
  uid: *drSubCredsUID
  key: password

# Initial Application Configuration
applicationConfig:
  enable_tls: true
  enable_http: true
  aaf_identity: ""
  aaf_password: ""
  pm-mapper-filter: "{ \"filters\":[] }"
  key_store_path: ""
  key_store_pass_path: ""
  trust_store_path: ""
  trust_store_pass_path: ""
  dmaap_dr_delete_endpoint: https://dmaap-dr-node:8443/delete
  streams_publishes:
    dmaap_publisher:
      type: message_router
      dmaap_info:
        client_id: ${MR_FILES_PUBLISHER_CLIENT_ID_0}
        location: san-francisco
        client_role: org.onap.dcae.pmPublisher
        topic_url: http://message-router:3904/events/unauthenticated.PERFORMANCE_MEASUREMENTS
  streams_subscribes:
    dmaap_subscriber:
      type: data_router
      dmaap_info:
        subscriber_id: ${DR_FILES_SUBSCRIBER_ID_0}
        decompress: true
        privileged: true
        username: ${DR_USERNAME}
        password: ${DR_PASSWORD}
        location: san-francisco
        delivery_url: https://dcae-pm-mapper:8443/delivery

# DataRouter Feed Configuration
drFeedConfig:
  - feedName: bulk_pm_feed
    owner: dcaecm
    feedVersion: "0.0"
    asprClassification: unclassified
    feedDescription: DFC Feed Creation

# DataRouter Subscriber Configuration
drSubConfig:
  - feedName: bulk_pm_feed
    decompress: true
    username: ${DR_USERNAME}
    userpwd: ${DR_PASSWORD}
    dcaeLocationName: loc00
    privilegedSubscriber: true
    deliveryURL: https://dcae-pm-mapper:8443/delivery

# MessageRouter Topic, Publisher Configuration
mrTopicsConfig:
  - topicName: PERFORMANCE_MEASUREMENTS
    topicDescription: PM Mapper publishes perf3gpp VES PM Events to authenticated MR topic
    owner: dcaecm
    tnxEnabled: false
    clients:
      - dcaeLocationName: san-francisco
        clientRole: org.onap.dcae.pmPublisher
        action:
          - pub
          - view

# ConfigMap Configuration for Dr Feed, Subscriber, MR Topics
volumes:
  - name: feeds-config
    path: /opt/app/config/feeds
  - name: drsub-config
    path: /opt/app/config/dr_subs
  - name: topics-config
    path: /opt/app/config/topics

# 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-pm-mapper
  roles:
    - read