# Copyright 2019-present Open Networking Foundation
#
# 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:1.0.0
    depCheck: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
    hssdb: docker.io/omecproject/c3po-hssdb:master-2c49778
    hss: docker.io/omecproject/c3po-hss:master-2c49778
    mme: docker.io/omecproject/openmme:master-ab37a71
    mmeExporter: docker.io/omecproject/mme-exporter:paging-latest
    spgwc: docker.io/omecproject/ngic-cp:central-cp-multi-upfs-e8257e7
    bess: docker.io/omecproject/upf-epc-bess:master-554b670
    cpiface: docker.io/omecproject/upf-epc-cpiface:master-554b670
  pullPolicy: IfNotPresent

# cassandra values
cassandra:
  config:
    cluster_size: 1
    seed_size: 1

resources:
  enabled: false

config:
  spgwu:
    mode: "af_packet"
    name: "oaisim"
    sriov:
      enabled: false
    hugepage:
      enabled: false
    cniPlugin: simpleovs
    ipam: static
  mme:
    cfgFiles:
      config.json:
        mme:
          mcc:
            dig1: 2
            dig2: 0
            dig3: 8
          mnc:
            dig1: 0
            dig2: 1
            dig3: -1
  hss:
    bootstrap:
      key: "465b5ce8b199b49faa5f0a2ee238a6bc"
      opc: "d4416644f6154936193433dd20a0ace0"
      users:
        - imsiStart: "208014567891201"
          msisdnStart: "1122334455"
          count: 10
  # oaisim values
  enb:
    mme:
      address: 127.0.0.1
    networks:
      s1u:
        interface: enb
  plmn:
    mcc: "208"
    mnc: "01"
    mnc_length: 2
  ue:
    sim:
      msin: "4567891201"
      api_key: "465b5ce8b199b49faa5f0a2ee238a6bc"
      opc: "d4416644f6154936193433dd20a0ace0"
      msisdn: "1122334456"
