# SPDX-FileCopyrightText: 2020-present Open Networking Foundation <info@opennetworking.org>
#
# SPDX-License-Identifier: LicenseRef-ONF-Member-Only-1.0

image:
  credential:
    secretName: &image-secret-name registry-credential
    registry: registry.aetherproject.org
    username: changeit
    password: changeit

import:
  pfcp-agent:
    enabled: false
  dbuf:
    enabled: false

onos-classic:
  image:
    repository: registry.aetherproject.org/tost/tost
    tag: master-2021-10-01
    pullSecrets:
      - *image-secret-name

  replicas: 3

  ports:
    - name: up4
      port: 51001
    - name: east-west
      port: 9876
    - name: cli
      port: 8101
    - name: ui
      port: 8181

  apps:
    - org.onosproject.lldpprovider
    - org.onosproject.hostprovider
    - org.onosproject.netcfghostprovider
    - org.onosproject.gui
    - org.onosproject.drivers.barefoot
    - org.onosproject.segmentrouting
    - org.onosproject.t3
    - org.omecproject.up4
    - org.stratumproject.fabric-tna
    - org.onosproject.dhcprelay
    - org.onosproject.hostprobingprovider

  logging:
    karafVersion: 4.2.9
    config: |
      # Common pattern layout for appenders
      log4j2.stdout.pattern = %d{RFC3339} %-5level [%c{1}] %msg%n%throwable

      # Root logger
      log4j2.rootLogger.level = INFO

      # OSGi appender
      log4j2.rootLogger.appenderRef.PaxOsgi.ref = PaxOsgi
      log4j2.appender.osgi.type = PaxOsgi
      log4j2.appender.osgi.name = PaxOsgi
      log4j2.appender.osgi.filter = *

      # stdout appender
      log4j2.rootLogger.appenderRef.Console.ref = Console
      log4j2.appender.console.type = Console
      log4j2.appender.console.name = Console
      log4j2.appender.console.layout.type = PatternLayout
      log4j2.appender.console.layout.pattern = ${log4j2.stdout.pattern}

      # SSHD logger
      log4j2.logger.sshd.name = org.apache.sshd
      log4j2.logger.sshd.level = INFO

      # Spifly logger
      log4j2.logger.spifly.name = org.apache.aries.spifly
      log4j2.logger.spifly.level = WARN

  annotations:
    fluentbit.io/parser: onos

  atomix:
    replicas: 3
    persistence:
      enabled: false

  config:
    netcfg: >
      {}
    componentConfig: {}

stratum:
  image:
    registry: docker.io
    repository: stratumproject/stratum-bfrt
    tag: 21.09.24-9.5.0
    pullPolicy: IfNotPresent

  annotations:
    fluentbit.io/parser: stratum

  # Specify nodeSelector to pin Stratum to switches only
  #
  # nodeSelector:
  #   node-role.aetherproject.org: switch

  # Override NoSchedule for Stratum to be scheduled on switches
  #
  # tolerations:
  #   - key: node-role.aetherproject.org
  #     value: switch
  #     effect: NoSchedule
  config: false

pfcp-agent:
  images:
    tags:
      init: registry.aetherproject.org/tools/busybox:stable
      pfcpiface: "registry.aetherproject.org/proxy/omecproject/upf-epc-pfcpiface:master-fcdbc95"
    pullPolicy: Always
    pullSecrets:
      - *image-secret-name
  nodeSelectors:
    enabled: false
    pfcp:
      label: omec-upf
      value: enabled
  resources:
    enabled: true
    pfcpiface:
      requests:
        cpu: 256m
        memory: 128Mi
      limits:
        cpu: 256m
        memory: 128Mi
  config:
    coreDump:
      enabled: false
      path: /tmp/coredump
    pfcp:
      cfgFiles:
        upf.json:
          measure: true
          enable_p4rt: true
          p4rtciface:
            access_ip: "172.17.0.1/32"
            p4rtc_server: "sdfabric-onos-classic-hs.sdfabric"
            p4rtc_port: "51001"
  service:
    type: ClusterIP
    #externalIp:
    #annotations:

dbuf:
  image:
    repository: registry.aetherproject.org/tost/dbuf
    pullPolicy: Always
    tag: "latest"
    pullSecrets:
      - *image-secret-name
  extraParams:
    - '"-max_queues=1024"'
  replicaCount: 1
  sriovNICSize: 1
  sriovResourceName: intel_sriov_netdevice
  # Change both in the same time
  multusNetworkName: dbuf-sriov
  podAnnotations:
    k8s.v1.cni.cncf.io/networks: dbuf-sriov@net0
  podSecurityContext: {}
  resources:
    requests:
      intel.com/intel_sriov_netdevice: "1"
    limits:
      intel.com/intel_sriov_netdevice: "1"
  nodeSelector: {}
  tolerations: []
  affinity: {}
  # onos inforamtion
  onos:
    server: sdfabric-onos-classic-hs.sdfabric
    port: 8181
    username: onos
    password: rocks
  dataplane:
    port: 2152
    interface: "net0"
  prometheus_enable: true
  service:
    stats:
      port: 8080
      protocol: TCP
    grpc:
      port: 10000
      protocol: TCP
  # two options for ipam, dhcp or host-local
  # static is for host-local ipam
  network:
    #  ipam: dhcp
    ipam: host-local
    static:
      subnets: "10.56.217.0/24"
      gateway: "10.56.217.1"
    # route the following subnets via sr-iov interface
    # route: 10.56.215.0/24,10.56.214.0/24
    route: ""
    #vlan: