#============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.1.0
  repositoryCred:
    user: docker
    password: docker
  # Enabling CMPv2 with CertManager
  CMPv2CertManagerIntegration: false

cmpv2issuer:
  name: cmpv2-issuer-onap

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.5.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
