# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018 AT&T, ZTE
# Modifications Copyright © 2022 Nordix Foundation
#
# 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:
  nodePortPrefix: 302
  sdc_cassandra:
    #This flag allows SDC to instantiate its own cluster, serviceName
    #should be sdc-cs if this flag is enabled
    localCluster: false
    #The cassandra service name to connect to (default: shared cassandra service)
    serviceName: cassandra
    #Shared cassandra cluster replicaCount, should be changed if localCluster is enabled
    #to match with its own cluster replica
    replicaCount: 3
    clusterName: cassandra
    #datacenter name (use "dc1" in case of k8ssandra-operator, otherwise "Pod")
    dataCenter: dc1
  # Global Strimzi kafka config overridden
  # from parent values.yaml
  kafka:
    useKafka: overridden-from-parent-values-yaml

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/sdc-backend-all-plugins:1.14.1
backendInitImage: onap/sdc-backend-init:1.14.1

pullPolicy: Always

# flag to enable debugging - application support required
debugEnabled: false

#environment file
env:
  name: &env AUTO

#################################################################
# SDC Config part
#################################################################
config:
  javaOptions: "-Xmx1536m -Xms1536m"
  cassandraSslEnabled: "false"

kafkaUser:
  acls:
    - name: sdc
      suffix: *env
      type: group
      operations: [Read]
    - name: SDC-DISTR
      type: topic
      patternType: prefix
      operations: [Read, Write]


# default number of instances
replicaCount: 1

nodeSelector: {}

affinity: {}

# probe configuration parameters
liveness:
  initialDelaySeconds: 1
  periodSeconds: 10
  timeoutSeconds: 180
  successThreshold: 1
  failureThreshold: 3
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true

readiness:
  initialDelaySeconds: 1
  periodSeconds: 10
  timeoutSeconds: 180
  successThreshold: 1
  failureThreshold: 3

startup:
  initialDelaySeconds: 10
  periodSeconds: 10
  timeoutSeconds: 180
  successThreshold: 1
  failureThreshold: 60

service:
  type: NodePort
  name: sdc-be
  internalPort: 8080
  ports:
    - name: tcp-api
      port: 8080
      port_protocol: http
      nodePort: '04'
  annotations:
    msb.onap.org/service-info: |
      {{ if .Values.global.msbEnabled -}}[
        {
          "serviceName": "sdc-be",
          "version": "v1",
          "url": "/sdc/v1",
          "path":"/sdc/v1",
          "protocol": "REST",
          "visualRange":"1",
          "port": "{{ .Values.service.internalPort }}",
        }
      ]{{ end }}

ingress:
  enabled: false
  service:
    - baseaddr: "sdc-be-api"
      name: "sdc-be"
      port: 8080
  config:
    ssl: "redirect"

serviceMesh:
  authorizationPolicy:
    authorizedPrincipals:
      - serviceAccount: consul-read
      - serviceAccount: consul-server-read
      - serviceAccount: modeling-etsicatalog-read
      - serviceAccount: nbi-read
      - serviceAccount: oof-has-read
      - serviceAccount: portal-db-read
      - serviceAccount: so-cnfm-lcm-read
      - serviceAccount: so-etsi-sol003-adapter-read
      - serviceAccount: so-read
      - serviceAccount: istio-ingress
        namespace: istio-ingress

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
resources:
  small:
    limits:
      cpu: "2"
      memory: "3Gi"
    requests:
      cpu: "1"
      memory: "3Gi"
  large:
    limits:
      cpu: "3"
      memory: "6Gi"
    requests:
      cpu: "1"
      memory: "6Gi"
  unlimited: {}

metrics:
  serviceMonitor:
    enabled: true
    targetPort: 8080
    path: /sdc2/rest/actuator/prometheus
    basicAuth:
      enabled: false

#Pods Service Account
serviceAccount:
  nameOverride: sdc-be
  roles:
    - read

wait_for_job_container:
  containers:
    - '{{ include "common.name" . }}-job'

#Log configuration
log:
  path: /var/log/onap
logConfigMapNamePrefix: '{{ include "common.fullname" . }}'

#######
#######
pairEnvName: ""


cassandra:
  hostname: cassandra-dc1-service.onap
  port: 9042
  cassandraPassword: Aa1234%^!
  cassandraUsername: asdc_user
  connectionTimeout: 10000
  cassandraSslEnabled: false
  keystoreLocation: ""
  keystorePassword: ""
  truststoreLocation: ""
  truststorePassword: ""
  clusterName: SDC-CS-
  readConsistencyLevel: ONE
  writeConsistencyLevel: ALL
  #replication_strategy_options: dc1,3

cassandraConfig:
  cassandraHosts: [cassandra-dc1-service.onap]
  cassandraPort: 9042
  localDataCenter: dc1
  socketReadTimeout: 20000
  socketConnectTimeout: 20000
  username: asdc_user
  password: Aa1234%^!
  ssl: false
  keystorePath: ""
  keystorePassword: false
  truststorePath: ""
  truststorePassword: ""

janusgraph:
  keyspace: sdctitan
  cfgFile: /app/jetty/config/catalog-be/janusgraph.properties
  dbCache:
    enabled: false
    cleanWait: 20
    time: 18000
    size: 0.5
  txCache:
    size: '1000000'
  storage:
    lockRetries: 5
    lockWaitTime: 500
    backend: cql
    connectionTimeout: 5000
  graph:
    replaceInstance: true
    inMemory: false
    lockTimeout: 1800
  reconnectInterval: 3
  healthCheckReadTimeout: 8

dmaapConsumerConfiguration:
  active: false
permittedAncestors: ""
tlsCert: ""
tlsKey: ""
caCert: ""
ONBOARDING_BE:
  host: sdc-onboarding-be.onap
  httpPort: 8081
  httpsPort: 8445
dmaapProducerConfiguration:
  hosts: olsd004.com:3905
  topic: SDC-FACADE-NOTIF-v1
  serviceName: dmaap.com:3905/events
  environment: TEST
  protocol: ""
  aftEnvironment: ""
  dme2preferredRouterFilePath: ""
  username: user1@sdc.com
  password: password==
appVersion: ""

# Distrubution
uebPublicKey: iPIxkpAMI8qTcQj8
uebSecretKey: Ehq3WyT4bkif4zwgEbvshGal
#distributionNotifTopicName: SDC-DISTR-NOTIF-TOPIC
#distributionStatusTopicName: SDC-DISTR-STATUS-TOPIC
kafkaBootStrapServers: onap-strimzi-kafka-bootstrap:9092
chefEnvironment: AUTO

logback:
  rootLogLevel: INFO

jetty:
  httpPort: 8080
  httpsPort: 8443
  keystorePath: ""
  truststorePath: ""
  keystorePassword: ""
  truststorePassword: ""

disableHttp: false
beFqdn: sdc-be.onap
beHttpPort: 8080
beSslPort: 8443
basicAuth:
  enabled: true
  userName: testName
  userPass: testPass

basicAuthConfig:
  enabled: false
beInit:
  beIp: sdc-be.onap
  tlsCert: ""
  tlsKey: ""
  tlsKeyPw: ""
  caCert: ""

be:
  tlsCert: ""
  tlsKey: ""
  tlsPassword: ""
  keystorePath: ""
  keystorePassword: ""
  caCert: ""
  truststorePath: ""
  truststorePassword: ""

autoscaling:
  enabled: true
  minReplicas: 1
  maxReplicas: 3
  targetCPUUtilizationPercentage: 75

# number of ReplicaSets that should be retained for the Deployment
revisionHistoryLimit: 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

# Annotations to control the execution and deletion of the job
# Can be used to delete a job before an Upgrade
#
# jobAnnotations:
#   # In case of an ArgoCD deployment this Hook deletes the job before syncing
#   argocd.argoproj.io/hook: Sync
#   argocd.argoproj.io/hook-delete-policy: BeforeHookCreation
#
#   # In case of an Helm/Flux deployment this Hook deletes the job
#   # This is what defines this resource as a hook. Without this line, the
#   # job is considered part of the release.
#   "helm.sh/hook": "pre-upgrade,pre-rollback,post-install"
#   "helm.sh/hook-delete-policy": "before-hook-creation"
#   "helm.sh/hook-weight": "1"
#END