# 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
  int-host-reporter:
    enabled: false

onos-classic:
  image:
    repository: registry.aetherproject.org/tost/tost
    tag: 1.0.0
    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.10-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:
            # Should be the same as s1uAddr in ONOS netcfg for the UP4 app.
            access_ip: "172.17.0.1/32"
            # Do not change unless you are deploying ONOS in a custom way.
            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: "1.0.0"
    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:

int-host-reporter:
  image:
    repository: registry.hub.docker.com/opennetworking/int-host-reporter
    pullPolicy: Always
    # Overrides the image tag whose default is the chart appVersion.
    tag: "latest"

  cni: cilium
  dataInterface: enp0s8
  intCollector: 192.168.33.50:30001

  intWatchlistRules:
    # - protocol: "UDP"
    #   src-addr: "192.168.99.50/32"
    #   dst-addr: "192.168.99.20/32"
    # - protocol: "TCP"
    #   src-addr: "192.168.99.50/32"
    #   dst-addr: "192.168.99.20/32"
