# 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.3.1
  persistence:
    enabled: true

#################################################################
# Secrets metaconfig
#################################################################
secrets:
  - 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
  aai:
    serviceName: aai
    port: 80
  msb:
    serviceName: msb-iag
    port: 80
  sdc:
    serviceName: sdc-be
    port: 8080
  cps:
    serviceName: cps-tbdmt
    port: 8080
  dcae:
    serviceName: dcae-slice-analysis-ms
    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:
      cpu: "1"
      memory: "2Gi"
    requests:
      cpu: "0.5"
      memory: "1Gi"
  large:
    limits:
      cpu: "2"
      memory: "4Gi"
    requests:
      cpu: "1"
      memory: "2Gi"
  unlimited: {}

#component overrides
oof-has-api: &has-config
  enabled: true
  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

#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: "70Mi"
    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
  serviceAccount:
    nameOverride: *job-name

# Python doesn't support well dollar sign in password
passwordStrengthOverride: basic
