#  ============LICENSE_START=======================================================
#   Copyright (C) 2018 Ericsson. All rights reserved.
#   Copyright (C) 2020 Huawei
#   Modifications Copyright © 2020 Nokia
#   Modifications Copyright © 2021 Orange
#  ================================================================================
#  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.
#
#  SPDX-License-Identifier: Apache-2.0
#  ============LICENSE_END=========================================================
#  @author: gareth.roper@ericsson.com
#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  nodePortPrefixExt: 304
  repository: nexus3.onap.org:10001
  readinessImage: onap/oom/readiness:3.0.1
  envsubstImage: dibi/envsubst
  persistence:
    mountPath: /dockerdata-nfs
  mariadbGalera:
    service: mariadb-galera-primary
    servicePort: '3306'

#################################################################
# Secrets metaconfig
#################################################################
secrets:
  - uid: db-user-creds
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.db.userCredsExternalSecret) . }}'
    login: '{{ .Values.db.userName }}'
    password: '{{ .Values.db.userPassword }}'
    passwordPolicy: required
  - uid: db-admin-creds
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.db.adminCredsExternalSecret) . }}'
    login: '{{ .Values.db.adminName }}'
    password: '{{ .Values.db.adminPassword }}'
    passwordPolicy: required
  - uid: app-user-creds
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.server.cockpit.soMonitoringCredsExternalSecret) . }}'
    login: '{{ .Values.server.cockpit.username }}'
    password: '{{ .Values.server.cockpit.password }}'

#secretsFilePaths: |
#  - 'my file 1'
#  - '{{ include "templateThatGeneratesFileName" . }}'

#################################################################
# Application configuration defaults.
#################################################################
repository: nexus3.onap.org:10001
image: onap/so/so-admin-cockpit:1.9.0
pullPolicy: Always

db:
  userName: so_user
  userPassword: so_User123
  # userCredsExternalSecret: some secret
  adminName: so_admin
  adminPassword: so_Admin123
  # adminCredsExternalSecret: some secret

replicaCount: 1
minReadySeconds: 10
containerPort: &containerPort 9091
logPath: app/logs/
app: so-admin-cockpit

#################################################################
# soHelpers part
#################################################################
soHelpers:
  containerPort: *containerPort

server:
  cockpit:
    username: demo
    # password: demo123456!
    # soMonitoringCredsExternalSecret: some secret

service:
  type: NodePort
  ports:
    - port: *containerPort
      name: http
      nodePort: 24

updateStrategy:
  type: RollingUpdate
  maxUnavailable: 1
  maxSurge: 1
# Resource Limit flavor -By Default using small
flavor: small
#Segregation for different environment (Small or large)
resources:
  small:
    requests:
      memory: 1Gi
      cpu: 0.25
    limits:
      memory: 4Gi
      cpu: 0.5
  large:
    requests:
      memory: 2Gi
      cpu: 0.5
    limits:
      memory: 8Gi
      cpu: 1
  unlimited: {}
readinessProbe:
  port: 9091
  initialDelaySeconds: 40
  periodSeconds: 10
  timeoutSeconds: 10
livenessProbe:
  port: 9091
  initialDelaySeconds: 80
  periodSeconds: 10
  timeoutSeconds: 10
  successThreshold: 1
  failureThreshold: 3
ingress:
  enabled: false
  service:
  - baseaddr: "so-admin-cockpit-ui"
    name: "so-admin-cockpit"
    port: 9091
  config:
    ssl: "none"
serviceMesh:
  authorizationPolicy:
    authorizedPrincipals:
      - serviceAccount: portal-app-read
      - serviceAccount: so-read
      - serviceAccount: istio-ingress
        namespace: istio-ingress
nodeSelector: {}
tolerations: []
affinity: {}

#Pods Service Account
serviceAccount:
  nameOverride: so-admin-cockpit
  roles:
    - read