#============LICENSE_START========================================================
# ================================================================================
# Copyright (c) 2021 ZTE Corporation Intellectual Property. All rights reserved.
# Modifications 2023 Deutsche Telekom
# ================================================================================
# 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.
#################################################################
global:
  nodePortPrefixExt: 302
  msbProtocol: http
  msbServiceName: msb-iag
  msbPort: 80
  postgres:
    localCluster: false

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/holmes/rule-management:12.0.0
consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0

#################################################################
# Secrets metaconfig
#################################################################
secrets:
- uid: pg-user-creds
  type: basicAuth
  externalSecret: '{{ tpl (default "" .Values.config.pgConfig.dbUserCredsExternalSecret) . }}'
  login: '{{ .Values.config.pgConfig.dbUser }}'
  password: '{{ .Values.config.pgConfig.dbUserPassword }}'

# application configuration
config:
  logstashServiceName: log-ls
  logstashPort: 5044
  # Addresses of other ONAP entities
  address:
    consul:
      host: consul-server
      port: 8500
  pgConfig:
    dbName: defaultName
    dbHost: defaultHost
    dbPort: 1234
    dbUser: admin
    dbUserPassword: admin
    # dbUserCredsExternalSecret

service:
  type: NodePort
  name: holmes-rule-mgmt
  ports:
  - name: http-rest
    port: &svc_port 9101
    nodePort: 92
  - name: http-ui
    port: 9104
    nodePort: 93
  annotations:
    msb.onap.org/service-info: |
      {{ if .Values.global.msbEnabled -}}[
        {
          "serviceName": "holmes-rule-mgmt",
          "version": "v1",
          "url": "/api/holmes-rule-mgmt/v1",
          "path":"/api/holmes-rule-mgmt/v1",
          "protocol": "REST",
          "visualRange":"0|1",
          "port": "9101",
          "enable_ssl": false
        }
      ]{{ end }}

ingress:
  enabled: false
  service:
    - baseaddr: "holmes-rule-mgmt"
      name: "holmes-rule-mgmt"
      path: "/api/holmes-rule-mgmt/v1"
      plain_port: 9101
    - baseaddr: "holmes-rule-mgmt-ui"
      name: "holmes-rule-mgmt"
      path: "/iui/holmes"
      plain_port: 9104
  config:
    ssl: "redirect"

# probe configuration parameters
liveness:
  initialDelaySeconds: 10
  port: *svc_port
  periodSeconds: 10
  path: /api/holmes-rule-mgmt/v1/healthcheck
  enabled: true
  scheme: HTTP

readiness:
  initialDelaySeconds: 30
  port: *svc_port
  periodSeconds: 30
  path: /api/holmes-rule-mgmt/v1/healthcheck
  scheme: HTTP

# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 250m
      memory: 1024Mi
    requests:
      cpu: 250m
      memory: 256Mi
  large:
    limits:
      cpu: 500m
      memory: 2Gi
    requests:
      cpu: 500m
      memory: 512Mi
  unlimited: {}

readinessCheck:
  wait_for_global:
    jobs:
      - '{{ include "common.release" . }}-holmes-postgres-init-config-job'
  wait_for_local:
    - '{{ .Values.global.postgres.container.name }}'

#Pods Service Account
serviceAccount:
  nameOverride: holmes-rule-mgmt
  roles:
    - read
