---
# 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.

# Default values for mcord-vepc-helm.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.

hssdb_hostname: "cassandra"
hss_hostname: "hss"
mme_hostname: "mme"
spgwc_hostname: "ngic-cp"
# If the control plane is installed in a separate cluster, this value needs to be overridden
# DP installed on LOCAL node3
spgwu_s11_ip: "10.90.0.133"
# The spgwu_s1u_ip changes everytime, you can get it with this command:
# ngic_sriov=$(kubectl exec -n epc ngic-dp-0 ifconfig s1u-net | grep 'inet addr' | cut -d: -f2 | awk '{print $1}')
# and use it in the chart with --set spgwu_s1u_ip=$ngic_sriov
spgwu_s1u_ip: "119.0.0.45"
spgwu_port: 31310
# BBU is allocated on LOCAL's node2, use node2's IP
accelleran_hostname: "10.90.0.132"
accelleran_port: 31412

hss:
  # TODO: init UE's IMEI to DB?
  images:
    init: "node1:30500/ngick8stesting/c3po-cassandra:5e2eaf6"
    hss: "node1:30500/ngick8stesting/c3po-hss:5e2eaf6"
  ports:
    s6a: 3868
    secs6a: 5868
  replicas: 1
  resources:
    cpu: 3
    mem: "1Gi"

mme:
  images:
    init: "ngick8stesting/c3po-mmeinit"
    mme: "ngick8stesting/c3po-mme:mwca-mme-debug"
  ports:
    s11: 2123
    s1ap: 36412
    s6a: 3868
    s1ap_external: 31412
  replicas: 1
  enb_s1ap_ip: "119.0.0.10"
  resources:
    cpu: 3
    mem: "1Gi"

ngic_cp:
  images:
    init: "ngick8stesting/c3po-mmeinit"
    cp: "node1:30500/ngick8stesting/ngic-cp:690f418"
  replicas: 1
  ports:
    s11: 2123
    sx: 21
    sx_external: 31311
  config:
    apn: "apn1"
    ue_ip_pool: "16.0.0.0"
    ue_ip_pool_mask: "255.240.0.0"
  resources:
    cpu: 3
    mem: "5Gi"

namespace: epc
