#
# ============LICENSE_START=======================================================
# org.onap.aai
# ================================================================================
# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
# Copyright (c) 2020 Nokia Intellectual Property. All rights reserved.
# Copyright (c) 2020-2021 Orange 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
  cassandra:
    #This will instantiate AAI cassandra cluster, default:shared cassandra.
    localCluster: false
  initContainers:
    enabled: true
  jobs:
    # When enabled, it will create the schema based on oxm and edge rules
    createSchema:
      enabled: true
    #migration using helm hooks
    migration:
      enabled: false
  config:

    # Specifies that the cluster connected to a dynamic
    # cluster being spinned up by kubernetes deployment
    cluster:
      cassandra:
        dynamic: true

    # Specifies if the basic authorization is enabled
    basic:
      auth:
        enabled: true
        username: AAI
        passwd: AAI

    # Notification event specific properties
    notification:
      eventType: AAI-EVENT
      domain: dev

    # Schema specific properties that include supported versions of api
    schema:
      # Specifies if the connection should be one way ssl, two way ssl or no auth
      # will be set to no-auth if tls is disabled
      service:
        client: one-way-ssl
      # Specifies which translator to use if it has schema-service, then it will
      # make a rest request to schema service
      translator:
        list: schema-service
      source:
        # Specifies which folder to take a look at
        name: onap
      uri:
        # Base URI Path of the application
        base:
          path: /aai
      version:
        # Current version of the REST API
        api:
          default: v26
        # Specifies which version the depth parameter is configurable
        depth: v11
        # List of all the supported versions of the API
        list: v11,v12,v13,v14,v15,v16,v17,v18,v19,v20,v21,v22,v23,v24,v25,v26
        # Specifies from which version related link should appear
        related:
          link: v11
        # Specifies from which version the app root change happened
        app:
          root: v11
        # Specifies from which version the xml namespace changed
        namespace:
          change: v12
        # Specifies from which version the edge label appeared in API
        edge:
          label: v12

    # Specifies which clients should always default to realtime graph connection
    realtime:
      clients: SDNC,MSO,SO,robot-ete

#################################################################
# Certificate configuration
#################################################################
certInitializer:
  nameOverride: aai-graphadmin-cert-initializer
  aafDeployFqi: deployer@people.osaaf.org
  aafDeployPass: demo123456!
  # aafDeployCredsExternalSecret: some secret
  fqdn: aai
  fqi: aai@aai.onap.org
  public_fqdn: aai.onap.org
  cadi_longitude: "0.0"
  cadi_latitude: "0.0"
  app_ns: org.osaaf.aaf
  credsPath: /opt/app/osaaf/local
  fqi_namespace: org.onap.aai
  user_id: &user_id 1000
  group_id: &group_id 1000
  aaf_add_config: |
    echo "*** changing them into shell safe ones"
    export KEYSTORE_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
    export KEYSTORE_JKS_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
    export TRUSTSTORE_PLAIN_PASSWORD=$(tr -cd '[:alnum:]' < /dev/urandom | fold -w64 | head -n1)
    cd {{ .Values.credsPath }}
    keytool -storepasswd -new "${KEYSTORE_PLAIN_PASSWORD}" \
      -storepass "${cadi_keystore_password_p12}" \
      -keystore {{ .Values.fqi_namespace }}.p12
    keytool -storepasswd -new "${TRUSTSTORE_PLAIN_PASSWORD}" \
      -storepass "${cadi_truststore_password}" \
      -keystore {{ .Values.fqi_namespace }}.trust.jks
    keytool -storepasswd -new "${KEYSTORE_JKS_PLAIN_PASSWORD}" \
        -storepass "${cadi_keystore_password_jks}" \
        -keystore {{ .Values.fqi_namespace }}.jks
    echo "*** set key password as same password as keystore password"
    keytool -keypasswd -new "${KEYSTORE_JKS_PLAIN_PASSWORD}" \
      -keystore {{ .Values.fqi_namespace }}.jks \
      -keypass "${cadi_keystore_password_jks}" \
      -storepass "${KEYSTORE_JKS_PLAIN_PASSWORD}" -alias {{ .Values.fqi }}
    echo "*** writing passwords into prop file"
    echo "KEYSTORE_PLAIN_PASSWORD=${KEYSTORE_PLAIN_PASSWORD}" > {{ .Values.credsPath }}/mycreds.prop
    echo "KEYSTORE_JKS_PLAIN_PASSWORD=${KEYSTORE_JKS_PLAIN_PASSWORD}" >> {{ .Values.credsPath }}/mycreds.prop
    echo "TRUSTSTORE_PLAIN_PASSWORD=${TRUSTSTORE_PLAIN_PASSWORD}" >> {{ .Values.credsPath }}/mycreds.prop
    echo "*** change ownership of certificates to targeted user"
    chown -R {{ .Values.user_id }}:{{ .Values.group_id }} {{ .Values.credsPath }}

# application image
image: onap/aai-graphadmin:1.9.4
pullPolicy: Always
restartPolicy: Always
flavor: small
flavorOverride: small
# default number of instances
replicaCount: 1
# the minimum number of seconds that a newly created Pod should be ready
minReadySeconds: 30
updateStrategy:
  type: RollingUpdate
  # The number of pods that can be unavailable during the update process
  maxUnavailable: 0
  # The number of pods that can be created above the desired amount of pods during an update
  maxSurge: 1

# Configuration for the graphadmin deployment
config:

  # Specify the profiles for the graphadmin microservice
  profiles:
    # one way ssl profile will be set unless tlsEnabled is set to false or serviceMesh is enabled and
    # serviceMesh.tls is set to tru
    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: http
  internalPort: 8449
  portName2: tcp-5005
  internalPort2: 5005
  terminationGracePeriodSeconds: 120

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: {}

# Not fully used for now
securityContext:
  user_id: *user_id
  group_id: *group_id

#Pods Service Account
serviceAccount:
  nameOverride: aai-graphadmin
  roles:
    - read
#Log configuration
log:
  path: /var/log/onap
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'
