#============LICENSE_START========================================================
#=================================================================================
# Copyright (c) 2019-2020 AT&T 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=========================================================

#################################################################
# Global configuration defaults.
#################################################################
global:
  nodePortPrefix: 302
  nodePortPrefixExt: 304
  readinessRepository: oomk8s
  readinessImage: readiness-check:2.0.0

config:
  dashboardURL: https://inventory:8080/dcae-service-types
  # The dashboard credentials aren't actually used, since
  # the inventory API and the dashboard pass-through to the
  # inventory API don't require authentication.
  # Since the password doesn't matter, we let it be
  # generated by the common secret template.
  dashboardUser: nobody
  #dashboardPassword: doesntmatter
  mrTopicURL: http://message-router:3904/events
  importCloudify: https://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml
  importK8S: https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/k8splugin/1.7.2/k8splugin_types.yaml
  importPolicy: https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml
  importPostgres: https://nexus.onap.org/service/local/repositories/raw/content/org.onap.ccsdk.platform.plugins/type_files/pgaas/1.1.0/pgaas_types.yaml
  importClamp: https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/clamppolicyplugin/1.1.0/clamppolicyplugin_types.yaml
  importDMaaP: https://nexus.onap.org/content/repositories/raw/org.onap.ccsdk.platform.plugins/type_files/dmaap/dmaap.yaml

secrets:
  - uid: "dashsecret"
    type: basicAuth
    login: '{{ .Values.config.dashboardUser }}'
    password: '{{ .Values.config.dashboardPassword }}'
    passwordPolicy: generate

service:
  type: ClusterIP
  name: dcaemod-runtime-api
  ports:
    - name: http
      port: 9090

# probe configuration parameters
liveness:
  initialDelaySeconds: 60
  periodSeconds: 30
  port: http
  # necessary to disable liveness probe when setting breakpoints
  # in debugger so K8s doesn't restart unresponsive container
  enabled: true

readiness:
  initialDelaySeconds: 60
  periodSeconds: 20
  port: http
  # Should have a proper readiness endpoint or script

# application image
repository: nexus3.onap.org:10001
image: onap/org.onap.dcaegen2.platform.mod.runtime-web:1.0.0

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