# 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

replicaCount: 1

binary: oauth

sequence_order:
  - service
  - locate

nodeSelector: {}

affinity: {}

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

readiness:
  initialDelaySeconds: 5
  periodSeconds: 10
  port: api

service:
  name: aaf-oauth
  type: ClusterIP
  ports:
    - name: api
      protocol: http
      port: 8140

ingress:
  enabled: false
  service:
    - baseaddr: "aafoauth"
      name: "aaf-oauth"
      port: 8140
  config:
    ssl: "redirect"

# Configure resource requests and limits
resources:
  small:
    limits:
      cpu: 40m
      memory: 320Mi
    requests:
      cpu: 1m
      memory: 210Mi
  large:
    limits:
      cpu: 400m
      memory: 600Mi
    requests:
      cpu: 40m
      memory: 200Mi
  unlimited: {}
