---
# 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.
epc:
  config:
    plmnid: 371211

mme:
  nodeport_ip_addr: "10.90.0.132"
  port: 36412

enb:
  socket_interface: eth0

cu:
  location: remote # {remote: MME - same cluster, local: MME - different cluster}
  name: accelleran
  type: accelleran
  accelleran:
    node_ip: 10.90.0.131
    images:
      init: "ngick8stesting/c3po-mmeinit"
      nats: "node1:30500/accelleran/vran-nats:20190121"
      redis: "node1:30500/accelleran/vran-redis:20190121"
      bbu: "node1:30500/accelleran/vran-l3-fdd:onf-dns"
    ports:
      s1ap: 36412
      s1ap_external: 31412
      nats: 4222
      nats_external: 4222
      redis: 6379
      redis_external: 6379
    replicas: 1
    instid: "enb_key"
    nats:
      servicename: "nats-cluster"
    resources:
      cpu: 3
      mem: "1Gi"
    progran:
      enabled: false
      ip: "10.90.0.132"
      port: 30410
