# Copyright © 2017 Amdocs, Bell Canada
# Modifications Copyright © 2018 AT&T, ZTE
#
# 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:
  persistence: {}
  secrets:
    sdc_user: YXNkY191c2Vy
    sdc_password: QWExMjM0JV4h
    #Should be the password of shared cassandra instance/chart
    cs_password: Y2Fzc2FuZHJh
    cs_truststore_password: XS5dW3hndHplXWhCaHoqd3ldfW0jbGYq
    truststore_password: eitLRWo7dCssS05eaWltU2lTODllI3Aw
    keystore_password: PyhrUCFZdXIhWyohWTUhRV5mKFpLYzMx
    wf_external_user_password: S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
  aafEnabled: true
  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
   dbCache: true
   readConsistencyLevel: ONE
   writeConsistencyLevel: ALL
   clusterName: cassandra
   dataCenter: Pod
  security:
    disableHttp: true
  centralizedLoggingEnabled: true

sdc-be:
  logConfigMapNamePrefix: '{{ include "common.release" . }}-sdc'
sdc-fe:
  logConfigMapNamePrefix: '{{ include "common.release" . }}-sdc'
sdc-onboarding-be:
  logConfigMapNamePrefix: '{{ include "common.release" . }}-sdc'
sdc-wfd-fe:
  logConfigMapNamePrefix: '{{ include "common.release" . }}-sdc'

# Environment file
env:
  name: AUTO

config:
  logstashServiceName: log-ls
  logstashPort: 5044
  environment:
    workflowUrl: 10.0.2.15
    vnfRepoPort: 8703

#Used only if localCluster is enabled. Instantiates SDC's own cassandra cluster
cassandra:
  nameOverride: sdc-cs
  replicaCount: 1
  service:
    name: sdc-cs
  persistence:
    mountSubPath: sdc/sdc-cs/CS
    enabled: true

# dependency / sub-chart configuration
sdc-wfd:
  enabled: true
sdcHelmValidator:
  enabled: true
  helmVersion: 3.5.2
  deployable: true
  lintable: false
  strictLintable: false
  url: http://sdc-helm-validator:8080/validate
