---
# Copyright 2017-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.

# Aggregation chart of SEBA charts

# configuration for kafka
voltha-kafka:
  replicas: 1
  persistence:
    enabled: false
  zookeeper:
    servers: 1
    persistence:
      enabled: false

voltha:
  etcd-operator:
    customResources:
      createEtcdClusterCRD: true
  kafkaReleaseName: "seba-substrate-voltha-kafka"

# from configs/onos-voltha.yaml
onos-voltha:
  nameOverride: "onosv"
  fullnameOverride: "onos-voltha"

  namespace: voltha
  serviceAccountName: voltha-serviceaccount

  onosImage: 'voltha/voltha-onos:latest'

  services:
    openflowServiceType: ClusterIP
    ovsdbServiceType: ClusterIP
    sshServiceType: NodePort
    uiServiceType: NodePort
    ssh:
      nodePort: 30115
    ui:
      nodePort: 30120

  onos_env:
  - name: POD_IP
    valueFrom:
    fieldRef:
      fieldPath: status.podIP
  - name: NAMESPACE
    valueFrom:
    fieldRef:
      fieldPath: metadata.namespace
  - name: ONOS_APPS
    value: "drivers,openflow-base"


# from configs/onos-fabric.yaml
onos-fabric:
  services:
    openflowServiceType: NodePort
    ovsdbServiceType: NodePort
    sshServiceType: NodePort
    uiServiceType: NodePort
    ovsdb:
      nodePort: 31640
    openflow:
      nodePort: 31653
    ssh:
      nodePort: 31101
    ui:
      nodePort: 31181

  onos_env:
    - name: ONOS_APPS
      value: "openflow"

