# Copyright 2018-present Open Networking Foundation
# Copyright 2018 Intel Corporation
#
# 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.

images:
  tags:
    init: docker.io/omecproject/pod-init:0.1.0-dev
    hssdb: docker.io/omecproject/c3po-hssdb:0.1.0-dev
    hss: docker.io/omecproject/c3po-hss:0.1.0-dev
    mme: docker.io/omecproject/openmme:0.1.0-dev
    spgwc: docker.io/omecproject/ngic-cp:0.1.0-dev
    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
  pullPolicy: IfNotPresent

nodeSelectors:
  enabled: false
  hss:
    label: omec-cp
    value: enabled
  mme:
    label: omec-cp
    value: enabled
  spgwc:
    label: omec-cp
    value: enabled

resources:
  enabled: true
  hss:
    requests:
      cpu: 2
      memory: 1Gi
    limits:
      cpu: 2
      memory: 1Gi
  mme:
    # Note that MME pod is composed of 4 containers
    # Provide resources for a container, not a pod
    requests:
      cpu: 0.5
      memory: 1Gi
    limits:
      cpu: 0.5
      memory: 1Gi
  spgwc:
    requests:
      cpu: 2
      memory: 5Gi
    limits:
      cpu: 2
      memory: 5Gi

cassandra:
  deploy: true
  fullnameOverride: cassandra
  image:
    tag: 2.1.20
  #selector:
  #  nodeSelector:
  #    cassandra: enabled
  persistence:
    enabled: false
  config:
    #cluster_size: 1
    endpoint_snitch: GossipingPropertyFileSnitch
  resources: {}
    #requests:
    #  memory: 4Gi
    #  cpu: 2
    #limits:
    #  memory: 4Gi
    #  cpu: 2

config:
  hss: {}
    # hssdb will be set to cassandra if unset
    #hssdb:
  mme:
    mme:
      name: vmmestandalone
      group_id: 1
      code: 1
      mcc:
        dig1: 2
        dig2: 0
        dig3: 8
      mnc:
        dig1: 0
        dig2: 1
        dig3: -1
    s1ap:
      sctp_port: 36412
      sctp_port_external: 36412
    s11:
      egtp_default_port: 2123
      # sgw_addr and pgw_addr will be set dynamically if unset
      #sgw_addr:
      #pgw_addr:
    s6a:
      host_type: freediameter
      # host and realm will be set dynamically if unset
      #host:
      #realm:
  spgwc:
    # make it global
    spgwu:
      addr: spgwu
      port: 20
