# Copyright © 2017 Amdocs, Bell Canada
# Modifications © 2020 AT&T
#
# 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.

flavor: small

#################################################################
# Application configuration defaults.
#################################################################
# application image
aaf_init:
  # You might want this in your own app.  For AAF, we store in global
  # replicas: 1
  image: onap/aaf/aaf_agent:2.1.20
  fqi: "aaf@aaf.osaaf.org"
# This MUST match what is put in AAF's "Artifact" for Certificates
  fqdn: "aaf-hello"
# What is put in Locator for External Access
  locator_public_fqdn: "aaf.osaaf.org"
  app_ns: "org.osaaf.aaf"
  deploy_fqi: "deployer@people.osaaf.org"
  cadi_latitude: "38.0"
  cadi_longitude: "-72.0"

service:
  image: onap/aaf/aaf_hello:2.1.20
  port: "8130"
  public_port: "31119"

persistence:
  enabled: false
    #existingClaim:
    # You will want "Reatan" in non-Hello Example.
  volumeReclaimPolicy: Delete
  accessMode: ReadWriteMany
  size: 40M
  mountPath: /dockerdata-nfs
  mountSubPath: aaf/hello

nodeSelector: {}

affinity: {}

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

readiness:
  initialDelaySeconds: 5
  periodSeconds: 10

ingress:
  enabled: false
  service:
    - baseaddr: "aafhello"
      name: "aaf-hello"
      port: 8130
  config:
    ssl: "none"

# Configure resource requests and limits
resources:
 small:
   limits:
     cpu: 200m
     memory: 500Mi
   requests:
     cpu: 10m
     memory: 200Mi
 large:
   limits:
     cpu: 400m
     memory: 1Gi
   requests:
     cpu: 20m
     memory: 500Mi
 unlimited: {}
