---
# 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 M-CORD Services
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.


# Global Block defines shared variables for all Kubernetes objects
# etcdurl: the etcd connection peer for centralIP network plugin
global:
  namespace: default
  fqdn: svc.cluster.local
  imagepullpolicy: IfNotPresent
  etcdurl: http://node1:32379

hssdb:
  name: hssdb
  image: krsna1729/c3po-hssdb
  cpu: 3
  memory: 4Gi

hss:
  name: hss
  initimage: krsna1729/c3po-hssdb
  image: krsna1729/c3po-hss
  cpu: 3
  memory: 1Gi

mme:
  name: mme
  initimage: ngick8stesting/c3po-mmeinit
  image: ngick8stesting/c3po-mme:5e2eaf6
  cpu: 3
  memory: 1Gi

spgwc:
  name: spgwc
  initimage: ngick8stesting/kubectl
  image: krsna1729/ngic-cp
  cpu: 3
  memory: 5Gi

spgwu:
  name: spgwu
  images:
    tags:
      init: ngick8stesting/c3po-init:latest
      spgwu: krsna1729/ngic-dp:latest
    pullPolicy: IfNotPresent
  resources:
    cpu: 4
    memory: 8Gi
  conf:
    dp:
      # s1u and sgi interfaces are fixed to "s1u-net" and "sgi-net"
      # Note that s1u_af_dev and sgi_af_dev are valid only when sriov is disabled
      # setup-af-iface.sh script creates additional veth pair with the names here
      s1u_af_dev: s1u-veth
      sgi_af_dev: sgi-veth
      # set "--no-pci --vdev eth_af_packet0,iface=s1u-dev --vdev eth_af_packet1,iface=sgi-net"
      # when sriov is disabled
      devices: ""
      rtr_sgi_ip: 13.1.1.254
      sgi_mask: 255.255.255.0

enb:
  host: 10.1.11.3
  port: 36412

# Network block defines the networks
# Note that currently we use fixed list of networks, s1u-net and sgi-net
# type: provide what type of cni will be used
#       possible options are vfioveth and ptp
#       use vfioveth when sriov enabled, and ptp otherwise
# ipam: provide what type of ipam will be used
#       possible options are centralip and host-local
#       note that centralip requires etcd cluster
# subnet: provide subnet range to be assigned to the pod
# gateway: provide default gateway of the network
#          valid only when centralip is used
network:
  sriov:
    enabled: true
  networks:
    - name: s1u-net
      type: vfioveth
      ipam: centralip
      subnet: 119.0.0.0/24
      gateway: 119.0.0.254
    - name: sgi-net
      type: vfioveth
      ipam: centralip
      subnet: 13.1.1.0/24
      gateway: 13.1.1.254
