# Default values for kubeovn.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
global:
  registry:
    address: docker.io/kubeovn
    imagePullSecrets: []
  images:
    kubeovn:
      repository: kube-ovn
      dpdkRepository: kube-ovn-dpdk
      vpcRepository: vpc-nat-gateway
      tag: v1.13.13
      support_arm: true
      thirdparty: true

image:
  pullPolicy: IfNotPresent

namespace: kube-system
MASTER_NODES: ""
MASTER_NODES_LABEL: "kube-ovn/role=master"

networking:
  # NET_STACK could be dual_stack, ipv4, ipv6
  NET_STACK: ipv4
  ENABLE_SSL: false
  # network type could be geneve or vlan
  NETWORK_TYPE: geneve
  # tunnel type could be geneve, vxlan or stt
  TUNNEL_TYPE: geneve
  IFACE: ""
  DPDK_TUNNEL_IFACE: "br-phy"
  EXCLUDE_IPS: ""
  POD_NIC_TYPE: "veth-pair"
  vlan:
    PROVIDER_NAME: "provider"
    VLAN_INTERFACE_NAME: ""
    VLAN_NAME: "ovn-vlan"
    VLAN_ID: "100"
  EXCHANGE_LINK_NAME: false
  ENABLE_EIP_SNAT: true
  DEFAULT_SUBNET: "ovn-default"
  DEFAULT_VPC: "ovn-cluster"
  NODE_SUBNET: "join"
  ENABLE_ECMP: false
  ENABLE_METRICS: true
  # comma-separated string of nodelocal DNS ip addresses
  NODE_LOCAL_DNS_IP: ""
  PROBE_INTERVAL: 180000
  OVN_NORTHD_PROBE_INTERVAL: 5000
  OVN_LEADER_PROBE_INTERVAL: 5
  OVN_REMOTE_PROBE_INTERVAL: 10000
  OVN_REMOTE_OPENFLOW_INTERVAL: 180
  OVN_NORTHD_N_THREADS: 1
  ENABLE_COMPACT: false

func:
  ENABLE_LB: true
  ENABLE_NP: true
  ENABLE_EXTERNAL_VPC: true
  HW_OFFLOAD: false
  ENABLE_LB_SVC: false
  ENABLE_KEEP_VM_IP: true
  LS_DNAT_MOD_DL_DST: true
  LS_CT_SKIP_DST_LPORT_IPS: true
  CHECK_GATEWAY: true
  LOGICAL_GATEWAY: false
  ENABLE_BIND_LOCAL_IP: true
  SECURE_SERVING: false
  U2O_INTERCONNECTION: false
  ENABLE_TPROXY: false
  ENABLE_IC: false
  ENABLE_NAT_GW: true
  ENABLE_OVN_IPSEC: false
  ENABLE_ANP: false
  SET_VXLAN_TX_OFF: false
  OVSDB_CON_TIMEOUT: 3
  OVSDB_INACTIVITY_TIMEOUT: 10
  ENABLE_LIVE_MIGRATION_OPTIMIZE: true

ipv4:
  PINGER_EXTERNAL_ADDRESS: "1.1.1.1"
  PINGER_EXTERNAL_DOMAIN: "kube-ovn.io."

ipv6:
  POD_CIDR: "fd00:10:16::/112"
  POD_GATEWAY: "fd00:10:16::1"
  SVC_CIDR: "fd00:10:96::/112"
  JOIN_CIDR: "fd00:100:64::/112"
  PINGER_EXTERNAL_ADDRESS: "2606:4700:4700::1111"
  PINGER_EXTERNAL_DOMAIN: "google.com."

dual_stack:
  POD_CIDR: "10.16.0.0/16,fd00:10:16::/112"
  POD_GATEWAY: "10.16.0.1,fd00:10:16::1"
  SVC_CIDR: "10.96.0.0/12,fd00:10:96::/112"
  JOIN_CIDR: "100.64.0.0/16,fd00:100:64::/112"
  PINGER_EXTERNAL_ADDRESS: "1.1.1.1,2606:4700:4700::1111"
  PINGER_EXTERNAL_DOMAIN: "google.com."

performance:
  GC_INTERVAL: 360
  INSPECT_INTERVAL: 20
  OVS_VSCTL_CONCURRENCY: 100

debug:
  ENABLE_MIRROR: false
  MIRROR_IFACE: "mirror0"

cni_conf:
  CNI_CONFIG_PRIORITY: "01"
  CNI_CONF_DIR: "/etc/cni/net.d"
  CNI_BIN_DIR: "/opt/cni/bin"
  CNI_CONF_FILE: "/kube-ovn/01-kube-ovn.conflist"
  LOCAL_BIN_DIR: "/usr/local/bin"
  MOUNT_LOCAL_BIN_DIR: false

kubelet_conf:
  KUBELET_DIR: "/var/lib/kubelet"

log_conf:
  LOG_DIR: "/var/log"

OPENVSWITCH_DIR: "/etc/origin/openvswitch"
OVN_DIR: "/etc/origin/ovn"
DISABLE_MODULES_MANAGEMENT: false

nameOverride: ""
fullnameOverride: ""

# hybrid dpdk
HYBRID_DPDK: false
HUGEPAGE_SIZE_TYPE: hugepages-2Mi # Default
HUGEPAGES: 1Gi

# DPDK
DPDK: false
DPDK_VERSION: "19.11"
DPDK_CPU: "1000m" # Default CPU configuration
DPDK_MEMORY: "2Gi" # Default Memory configuration

ovn-central:
  requests:
    cpu: "300m"
    memory: "200Mi"
  limits:
    cpu: "3"
    memory: "4Gi"
ovs-ovn:
  requests:
    cpu: "200m"
    memory: "200Mi"
  limits:
    cpu: "2"
    memory: "1000Mi"
kube-ovn-controller:
  requests:
    cpu: "200m"
    memory: "200Mi"
  limits:
    cpu: "1000m"
    memory: "1Gi"
kube-ovn-cni:
  requests:
    cpu: "100m"
    memory: "100Mi"
  limits:
    cpu: "1000m"
    memory: "1Gi"
kube-ovn-pinger:
  requests:
    cpu: "100m"
    memory: "100Mi"
  limits:
    cpu: "200m"
    memory: "400Mi"
kube-ovn-monitor:
  requests:
    cpu: "200m"
    memory: "200Mi"
  limits:
    cpu: "200m"
    memory: "200Mi"
