# Copyright © 2017 Amdocs, AT&T, Bell Canada, VMware
# Modifications Copyright © 2018 Intel Corporation
#
# 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.
#################################################################
global:
  commonConfigPrefix: onap-oof-has
  image:
    optf_has: onap/optf-has:2.2.0
  persistence:
    enabled: true

#################################################################
# Secrets metaconfig
#################################################################
secrets:
  - uid: oof-onap-certs
    name: &oof-certs  '{{ include "common.release" . }}-oof-onap-certs'
    externalSecret: '{{ tpl (default "" .Values.certSecret) . }}'
    type: generic
    filePaths: '{{ .Values.secretsFilePaths }}'
  - uid: oof-has-etcd-root-password
    name: &root-password '{{ include "common.release" . }}-has-etcd-root-password'
    type: password
    password: '{{ .Values.config.etcd.rootPassword }}'
    policy: generate
  - uid: oof-has-etcd-secret
    name: &user-creds '{{ include "common.release" . }}-oof-has-etcd-secret'
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.config.etcd.userCredentialsExternalSecret) . }}'
    login: '{{ .Values.config.etcd.appUser }}'
    password: '{{ .Values.config.etcd.appPassword }}'
    passwordPolicy: generate

pullPolicy: Always
nodePortPrefix: 302
dataRootDir: /dockerdata-nfs
config:
  dbBackend: etcd
  aaf:
    serviceName: aaf-service
    port: 8100
  aai:
    serviceName: aai
    port: 8443
  msb:
    serviceName: msb-iag
    port: 80
  music:
    serviceName: music
    port: 8443
  sms:
    serviceName: aaf-sms
    port: 10443
  sdc:
    serviceName: sdc-be
    port: 8443
  cps:
    service: cps-tbdmt
    port: 8080
  etcd:
    serviceName: &etcd-service oof-has-etcd
    port: 2379
    appUser: conductor
#    rootPassword:
#    appPassword:
#    userCredentialsExternalSecret:
# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      memory: 2Gi
      cpu: 1000m
    requests:
      memory: 1Gi
      cpu: 500m
  large:
    limits:
      memory: 4Gi
      cpu: 2000m
    requests:
      memory: 2Gi
      cpu: 1000m
  unlimited: {}

#component overrides
oof-has-api: &has-config
  enabled: true
  certSecret: *oof-certs
  config:
    etcd:
      userCredentialsExternalSecret: *user-creds
      configJobNameOverride: &job-name oof-has-etcd-config
oof-has-controller: *has-config
oof-has-data: *has-config
oof-has-reservation: *has-config
oof-has-solver: *has-config
music:
  enabled: false

#etcd subchart configurations
etcd:
  enabled: true
  replicaCount: 3
  nameOverride: &etcd-container oof-has-etcd
  service:
    name: *etcd-service
  persistence:
    mountSubPath: oof/etcd/data
    enabled: true
  flavor: &etcd-flavor large
  resources: &etcd-resources
    small:
      limits:
        cpu: 100m
        memory: 300Mi
      requests:
        cpu: 10m
        memory: 75Mi
    large:
      limits:
        cpu: 200m
        memory: 1Gi
      requests:
        cpu: 50m
        memory: 300Mi
    unlimited: {}

etcd-init:
  enabled: true
  nameOverride: *job-name
  etcd:
    serviceName: *etcd-service
    port : 2379
    containerName: *etcd-container
  config:
    userRootSecret: *root-password
    userCredentialsExternalSecret: *user-creds
    appRole: conductor
    keyPrefix: conductor
  flavor: *etcd-flavor
  resources: *etcd-resources