# Copyright (C) 2021 Bell Canada
# Modifications 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.

#################################################################
# Global configuration defaults.
#################################################################
secrets:
  - uid: core-app-user-creds
    name: &core-creds-secret '{{ include "common.release" . }}-cps-core-app-user-creds'
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.config.coreUserExternalSecret) . }}'
    login: '{{ .Values.config.coreUserName }}'
    password: '{{ .Values.config.coreUserPassword }}'
    passwordPolicy: generate
  - uid: dmi-plugin-user-creds
    name: &dmi-plugin-creds-secret '{{ include "common.release" . }}-cps-dmi-plugin-user-creds'
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.config.dmiPluginUserExternalSecret) . }}'
    login: '{{ .Values.config.dmiPluginUserName }}'
    password: '{{ .Values.config.dmiPluginUserPassword }}'
    passwordPolicy: generate

passwordStrengthOverride: basic

standaloneDeployment: false

global:
  ingress:
    virtualhost:
      baseurl: "simpledemo.onap.org"

  kafkaBootstrap: strimzi-kafka-bootstrap
  cpsKafkaUser: cps-kafka-user

config:
  coreUserName: cpsuser
  dmiPluginUserName: dmiuser
  useStrimziKafka: true
  dataUpdatedTopic:
    name: cps.data-updated-events
    partitions: 10
    retentionMs: 7200000
    segmentBytes: 1073741824
    consumer:
      groupId: cps-temporal-group
  ncmpEventsTopic:
    name: ncmp-events
    retentionMs: 7200000
    consumer:
      groupId: ncmp-group
  ncmpAsyncM2MTopic:
    name: ncmp-async-m2m
    retentionMs: 600000
    consumer:
      groupId: ncmp-group
  dmiCmEventsTopic:
    name: dmi-cm-events
    retentionMs: 7200000
    consumer:
      groupId: ncmp-group

# Enable all CPS components by default
cps-core:
  enabled: true
  config:
    appUserExternalSecret: *core-creds-secret
    dmiPluginUserExternalSecret: *dmi-plugin-creds-secret
    jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.cpsKafkaUser }}'

cps-temporal:
  enabled: true
  config:
    jaasConfExternalSecret: '{{ include "common.release" . }}-{{ .Values.global.cpsKafkaUser }}'

ncmp-dmi-plugin:
  enabled: true
  config:
    appUserExternalSecret: *dmi-plugin-creds-secret
    cpsCore:
      credsExternalSecret: *core-creds-secret
