#============LICENSE_START========================================================
# ================================================================================
# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved.
# Modifications Copyright © 2018 Amdocs, Bell Canada
# Copyright (c) 2020-2021 J. F. Lucas.  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=========================================================

#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  persistence: {}
  tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0
  consulLoaderImage: onap/org.onap.dcaegen2.deployments.consul-loader-container:1.0.0
  repositoryCred:
    user: docker
    password: docker

secrets:
  - uid: 'cm-pass'
    type: password
    externalSecret: '{{ tpl (default "" .Values.config.cloudifyManagerPasswordExternalSecret) . }}'
    password: '{{ .Values.config.cloudifyManagerPassword }}'
    policy: required

config:
  cloudifyManagerPassword: "override me"
  logstashServiceName: log-ls
  logstashPort: 5044
  # Addresses of other ONAP entities
  address:
    consul:
      host: consul-server
      port: 8500

#################################################################
# Application configuration defaults.
#################################################################
# application image
image: onap/org.onap.dcaegen2.deployments.cm-container:4.1.0
pullPolicy: Always

# name of shared ConfigMap with kubeconfig for multiple clusters
multisiteConfigMapName: multisite-kubeconfig-configmap

# image for init container to initialize shared ConfigMap
multisiteInitImage: onap/org.onap.dcaegen2.deployments.multisite-init-container:1.0.0

# image for cleanup job container
cleanupImage: onap/org.onap.dcaegen2.deployments.dcae-k8s-cleanup-container:1.0.0

# default location for k8s deployments via Cloudify
default_k8s_location: central

# probe configuration parameters
liveness:
  initialDelaySeconds: 10
  periodSeconds: 10
  timeoutSeconds: 5
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  # liveness not desirable for Cloudify Manager container
  enabled: false

readiness:
  initialDelaySeconds: 60
  # In some environments we see CM coming up
  # properly but readiness probe timing out.
  # Increasing the timeout and adjusting the
  # period so it's longer than the timeout.
  # (DCAEGEN2-2465)
  periodSeconds: 30
  timeoutSeconds: 10

service:
  type: ClusterIP
  name: dcae-cloudify-manager
  externalPort: 443
  internalPort: 443

# Resource Limit flavor -By Default using small
flavor: small
# Segregation for Different environment (Small and Large)
# Due to memory issues in ONAP integration environment,
# we've increased the memory amounts for both flavors.
resources:
  small:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 1
      memory: 2Gi
  large:
    limits:
      cpu: 4
      memory: 8Gi
    requests:
      cpu: 2
      memory: 4Gi
  unlimited: {}
# Kubernetes namespace for components deployed via Cloudify manager
# If empty, use the common namespace
# dcae_ns: "dcae"

# Parameters for persistent storage
persistence:
  enabled: true
  accessMode: ReadWriteOnce
  size: 4Gi
  mountPath: /dockerdata-nfs
  mountSubPath: dcae-cm/data
  volumeReclaimPolicy: Retain
