apiVersion: flows.netobserv.io/v1alpha1
kind: FlowCollector
metadata:
  name: cluster
spec:
  namespace: netobserv
  deploymentModel: DIRECT
  agent:
    type: EBPF
    ipfix:
      cacheActiveTimeout: 20s
      cacheMaxFlows: 400
      sampling: 400
      clusterNetworkOperator:
        namespace: openshift-network-operator
      ovnKubernetes:
        namespace: ovn-kubernetes
        daemonSetName: ovnkube-node
        containerName: ovnkube-node
    ebpf:
      imagePullPolicy: IfNotPresent
      sampling: 1
      cacheActiveTimeout: 5s
      cacheMaxFlows: 100000
      interfaces: [ ]
      excludeInterfaces: [ "lo" ]
      logLevel: info
      privileged: false
      resources:
        requests:
          memory: 50Mi
          cpu: 100m
        limits:
          memory: 800Mi
      kafkaBatchSize: 10485760
  processor:
    port: 2055
    imagePullPolicy: IfNotPresent
    logLevel: info
    enableKubeProbes: true
    healthPort: 8080
    profilePort: 6060
    metrics:
      server:
        port: 9102
      ignoreTags:
        - egress
        - packets
    dropUnusedFields: true
    resources:
      requests:
        memory: 100Mi
        cpu: 100m
      limits:
        memory: 800Mi
    kafkaConsumerReplicas: 3
    kafkaConsumerAutoscaler: null
    kafkaConsumerQueueCapacity: 1000
    kafkaConsumerBatchSize: 10485760
  kafka:
    address: "kafka-cluster-kafka-bootstrap.netobserv"
    topic: network-flows
    tls:
      enable: false
      caCert:
        type: secret
        name: kafka-cluster-cluster-ca-cert
        certFile: ca.crt
      userCert:
        type: secret
        name: flp-kafka
        certFile: user.crt
        certKey: user.key
  loki:
    url: 'http://loki.netobserv.svc:3100/'
    batchWait: 1s
    batchSize: 10485760
    minBackoff: 1s
    maxBackoff: 5s
    maxRetries: 2
    staticLabels:
      app: netobserv-flowcollector
    tls:
      enable: false
      caCert:
        type: configmap
        name: loki
        certFile: service-ca.crt
  consolePlugin:
    register: true
    imagePullPolicy: IfNotPresent
    port: 9001
    logLevel: info
    autoscaler: null
    portNaming:
      enable: true
      portNames:
        "3100": loki
