# Copyright © 2017 Amdocs, Bell Canada
#
# 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:
  persistence: {}
  dmaapDrProvName: dmaap-dr-prov

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/dmaap/datarouter-node:2.1.12
pullPolicy: Always

# default number of instances
replicaCount: 1

nodeSelector: {}

affinity: {}

# application configuration - see parent values chart
# dr uses the EELF Logging framework https://github.com/att/EELF
# and supports the following log levels: TRACE, DEBUG, INFO, WARN, ERROR, OFF
logLevel: "DEBUG"

containerPort: &svc_port 8080

service:
  type: ClusterIP
  name: dmaap-dr-node
  ports:
    - name: http
      port: *svc_port

ingress:
  enabled: false
  service:
    - baseaddr: "dmaap-dr-node-api"
      name: "dmaap-dr-node"
      port: *svc_port
  config:
    ssl: "redirect"

# probe configuration parameters
liveness:
  initialDelaySeconds: 30
  periodSeconds: 10
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true
  port: *svc_port

readiness:
  initialDelaySeconds: 30
  periodSeconds: 10
  port: *svc_port

## Persist data to a persistent volume
persistence:
  enabled: true
  mountPath: /dockerdata-nfs
  spool:
    enabled: true
    volumeReclaimPolicy: Retain
    accessMode: ReadWriteOnce
    mountSubPath: data-router/dr-node/spool-data
    size: 2Gi
    path: /opt/app/datartr/spool
    labels:
      app.kubernetes.io/component: spool

  event:
    enabled: true
    volumeReclaimPolicy: Retain
    accessMode: ReadWriteOnce
    mountSubPath: data-router/dr-node/event-logs
    path: /opt/app/datartr/logs
    size: 2Gi
    labels:
      app.kubernetes.io/component: event-logs

# Resource Limit flavor -By Default using small
flavor: small

# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: 2000m
      memory: 4Gi
    requests:
      cpu: 500m
      memory: 1Gi
  large:
    limits:
      cpu: 4000m
      memory: 8Gi
    requests:
      cpu: 1000m
      memory: 2Gi
  unlimited: {}

#Pods Service Account
serviceAccount:
  nameOverride: dmaap-dr-node
  roles:
    - read

securityContext:
  user_id: 1000
  group_id: 1000

readinessCheck:
  wait_for:
    - dmaap-dr-prov
