# ================================ LICENSE_START =============================
# ============================================================================
# Copyright (c) 2021-2022 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2022-2023 J. F. Lucas. All rights reserved.
# Copyright (c) 2023 Deutsche Telekom AG. 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: false

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

#################################################################
# Secrets Configuration.
#################################################################
secrets:
  - uid: &controllerCredsUID controllercreds
    type: basicAuth
    login: '{{ .Values.controllerCreds.username }}'
    password: '{{ .Values.controllerCreds.password }}'
    passwordPolicy: required

#################################################################
# Application Configuration Defaults.
#################################################################
# Application Image
image: onap/org.onap.dcaegen2.collectors.restconfcollector:1.4.1
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: null # /opt/app/restconfcollector/logs
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

# Dependencies
readinessCheck:
  wait_for:
    - message-router

# Probe Configuration
readiness:
  initialDelaySeconds: 100
  periodSeconds: 60
  timeoutSeconds: 5
  path: /healthcheck
  scheme: HTTP
  port: 8080


# service configuration
service:
  type: NodePort
  name: dcae-restconf-collector
  ports:
    - name: http
      port: 8443
      plain_port: 8080
      port_protocol: http
      nodePort: 16
      useNodePortExt: true

ingress:
  enabled: false
  service:
    - baseaddr: "dcae-restconf-collector-api"
      name: "dcae-restconf-collector"
      port: 8443
      plain_port: 8080
  config:
    ssl: "redirect"

# AAF Credentials
controllerCreds:
  username: access
  password: Huawei@123

credentials:
- name: CONTROLLER_USERNAME
  uid: *controllerCredsUID
  key: login
- name: CONTROLLER_PASSWORD
  uid: *controllerCredsUID
  key: password

# application environments
applicationEnv:
  LOG4J_FORMAT_MSG_NO_LOOKUPS: 'true'

# Initial Application Configuration
applicationConfig:
  collector.rcc.appDescription: DCAE RestConf Collector Application
  collector.rcc.appName: dcae-rcc
  collector.rcc.dmaap.streamid: notification=device-registration
  collector.rcc.inputQueue.maxPending: '8096'
  tomcat.maxthreads: '200'
  collector.rcc.service.port: '8080'
  # Disabling of secure port not working (DCAEGEN2-3336)
  collector.rcc.service.secure.port: '0'
  #collector.rcc.service.secure.port: '8687'
  #collector.rcc.keystore.file.location: /opt/app/dcae-certificate/cert.jks
  #collector.rcc.keystore.passwordfile: /opt/app/dcae-certificate/jks.pass
  #collector.rcc.keystore.alias: dynamically generated
  #collector.rcc.truststore.file.location: /opt/app/dcae-certificate/trust.jks
  #collector.rcc.truststore.passwordfile: /opt/app/dcae-certificate/trust.pass
  #collector.keystore.file.location: /opt/app/dcae-certificate/external/cert.jks
  #collector.keystore.passwordfile: /opt/app/dcae-certificate/external/jks.pass
  collector.header.authflag: '0'
  collector.header.authlist: sample1,c2FtcGxlMQ==
  collector.rcc.service.secure.clientauth: '0'
  streams_publishes:
    device-registration:
     dmaap_info:
        topic_url: http://message-router:3904/events/unauthenticated.DCAE_RCC_OUTPUT
     type: message_router
  rcc_policy: '[{"controller_name":"AccessM&C","controller_restapiUrl":"172.30.0.55:26335","controller_restapiUser":"${CONTROLLER_USERNAME}","controller_restapiPassword":"${CONTROLLER_PASSWORD}","controller_accessTokenUrl":"/rest/plat/smapp/v1/oauth/token","controller_accessTokenFile":"./etc/access-token.json","controller_accessTokenMethod":"put","controller_subsMethod":"post","controller_subscriptionUrl":"/restconf/v1/operations/huawei-nce-notification-action:establish-subscription","controller_disableSsl":"true","event_details":[{"event_name":"ONT_registration","event_description":"ONTregistartionevent","event_sseventUrlEmbed":"true","event_sseventsField":"output.url","event_sseventsUrl":"null","event_subscriptionTemplate":"./etc/ont_registartion_subscription_template.json","event_unSubscriptionTemplate":"./etc/ont_registartion_unsubscription_template.json","event_ruleId":"12345678","modifyData":"true","modifyMethod": "modifyOntEvent","userData": "remote_id=AC9.0234.0337;svlan=100;cvlan=10;"}]}]'

#applicationEnv:
#  CONTROLLER_IP: "172.30.0.55"
#  CONTROLLER_PORT: "26335"


# 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-restconf-collector
  roles:
    - read