################################################################################
#   Copyright (c) 2020 Nordix Foundation.                                      #
#   Copyright © 2020 Samsung Electronics, Modifications                        #
#                                                                              #
#   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.                                             #
################################################################################
# Default values for Policy Management Service.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

global:
  nodePortPrefix: 302

secrets:
  - uid: controller-secret
    type: basicAuth
    externalSecret: '{{ tpl (default "" .Values.a1controller.credsExternalSecret) . }}'
    login: '{{ .Values.a1controller.user }}'
    password: '{{ .Values.a1controller.password }}'
    passwordPolicy: required

image: onap/ccsdk-oran-a1policymanagementservice:1.0.1
userID: 1000 #Should match with image-defined user ID
groupID: 999 #Should match with image-defined group ID
pullPolicy: IfNotPresent
replicaCount: 1

service:
  type: NodePort
  name: a1policymanagement
  both_tls_and_plain: true
  ports:
    - name: api
      port: 8433
      plain_port: 8081
      port_protocol: http
      nodePort: '94'

# SDNC Credentials are used here
a1controller:
  user: admin
  password: Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U

sdncLink: https://sdnc.onap:8443
# Add your own A1 Mediator link. Supports both STD & OSC Version. ex. http://<ip>:<port>
# Alternatively you can also use the A1 simulator available in ORAN. It provides STD  & OSC Version for A1 termination.
# Refer source code & run in docker container : https://gerrit.o-ran-sc.org/r/admin/repos/sim/a1-interface
# Refer it/dep repo for k8's deployment: https://gerrit.o-ran-sc.org/r/admin/repos/it/dep
ricLink:
streamPublish: http://message-router:3904/events/A1-POLICY-AGENT-WRITE
streamSubscribe: http://message-router:3904/events/A1-POLICY-AGENT-READ/users/policy-agent?timeout=15000&limit=100

liveness:
  port: api
  initialDelaySeconds: 60
  periodSeconds: 10
readiness:
  port: api
  initialDelaySeconds: 60
  periodSeconds: 10

#Resource Limit flavor -By Default using small
flavor: small

resources:
  small:
    limits:
      cpu: 2
      memory: 4Gi
    requests:
      cpu: 1
      memory: 2Gi
  large:
    limits:
      cpu: 4
      memory: 8Gi
    requests:
      cpu: 2
      memory: 4Gi
  unlimited: {}
