#
# ============LICENSE_START=======================================================
# org.onap.aai
# ================================================================================
# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.
# ================================================================================
# 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=========================================================

# Default values for resources.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global: # global defaults
  nodePortPrefix: 302
  readinessImage: onap/oom/readiness:3.0.1


# application image
repository: nexus3.onap.org:10001
image: onap/aai-graphadmin:1.7.1
pullPolicy: Always
restartPolicy: Always
flavor: small
flavorOverride: small
# default number of instances
replicaCount: 1

# Configuration for the graphadmin deployment
config:

  # Specify the profiles for the graphadmin microservice
  profiles:
    active: "dmaap,one-way-ssl"

  # Specifies the timeout limit for the REST API requests
  timeout:
    enabled: true
    limit: 180000

  # Default maximum records to fix for the data grooming and dupeTool
  maxFix:
    dataGrooming: 150
    dupeTool: 25

  # Default number of sleep minutes for dataGrooming and dupeTool
  sleepMinutes:
    dataGrooming: 7
    dupeTool: 7

  # Cron specific attributes to be triggered for the graphadmin spring cron tasks
  cron:
    # Specifies that the data grooming tool which runs duplicates should be enabled
    dataGrooming:
      enabled: true
    # Specifies that the data snapshot which takes a graphson snapshot should be enabled
    dataSnapshot:
      enabled: true
      params: JUST_TAKE_SNAPSHOT

    # Data cleanup which zips snapshots older than x days and deletes older than y days
    dataCleanup:

      dataGrooming:
        enabled: true
        # Zips up the dataGrooming files older than 5 days
        ageZip: 5
        # Deletes the dataGrooming files older than 30 days
        ageDelete: 30

      dataSnapshot:
        enabled: true
        # Zips up the dataSnapshot graphson files older than 5 days
        ageZip: 5
        # Deletes the dataSnapshot graphson files older than 30 days
        ageDelete: 30
  # Concurrency lock control flag
  aai:
    lock:
      uri:
        enabled: false


nodeSelector: {}

affinity: {}

# probe configuration parameters
liveness:
  initialDelaySeconds: 60
  periodSeconds: 60
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: false

readiness:
  initialDelaySeconds: 60
  periodSeconds: 10

service:
  type: ClusterIP
  # REST API port for the graphadmin microservice
  portName: aai-graphadmin-8449
  internalPort: 8449
  portName2: aai-graphadmin-5005
  internalPort2: 5005

ingress:
  enabled: false

persistence:
  enabled: true
  ## A manually managed Persistent Volume and Claim
  ## Requires persistence.enabled: true
  ## If defined, PVC must be created manually before volume will be bound
  # existingClaim:
  volumeReclaimPolicy: Retain
  ## database data Persistent Volume Storage Class
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  # storageClass: "-"
  accessMode: ReadWriteMany
  size: 2Gi

  mountPath: /dockerdata-nfs
  mountSubPath: aai/aai-graphadmin
  mountSubPath1: aai/migration

resources:
  small:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 0.5
      memory: 1536Mi
  large:
    limits:
      cpu: 4
      memory: 8Gi
    requests:
      cpu: 1
      memory: 2Gi
  unlimited: {}