Apache Flink

Processes event streams in real time with stateful, exactly-once pipelines

Not yet managed by ArgoCD

Flink is the planned stream processor for stateful computations over the event backbone. It is not yet in the argocd-apps catalog: there is no entry today, and this page documents the intended shape before it lands.

Chart values

The full flink/values.yaml from the service's own chart:

flink:

  image:
    repository: registry-1.docker.io/opi5cluster/flink
    pullPolicy: IfNotPresent
    tag: 1.9.0

  replicas: 1

  strategy:
    type: Recreate

  rbac:
    create: true
    nodesRule:
      create: false
    operatorRole:
      create: true
      name: "flink-operator-role"
    operatorRoleBinding:
      create: true
      name: "flink-operator-role-binding"
    jobRole:
      create: true
      name: "flink-job-role"
    jobRoleBinding:
      create: true
      name: "flink-role-binding"

  operatorPod:
    resources:
      requests:
        cpu: "250m"
        memory: "512Mi"
    webhook:
      resources: {}

  operatorServiceAccount:
    create: true
    name: "flink-operator-service-account"

  jobServiceAccount:
    create: true
    annotations:
      "helm.sh/resource-policy": keep
    name: "flink-job-service-account"


  podSecurityContext:
    runAsUser: 9999
    runAsGroup: 9999

  operatorSecurityContext: {}

  webhookSecurityContext: {}

  webhook:
    create: true
    keystore:
      useDefaultPassword: true


  defaultConfiguration:
    create: true
    append: true
    flink-conf.yaml: |+
      # Flink Config Overrides
      kubernetes.operator.metrics.reporter.slf4j.factory.class: org.apache.flink.metrics.slf4j.Slf4jReporterFactory
      kubernetes.operator.metrics.reporter.slf4j.interval: 5 MINUTE

      kubernetes.operator.reconcile.interval: 15 s
      kubernetes.operator.observer.progress-check.interval: 5 s
      security.delegation.tokens.enabled: false
    log4j-operator.properties: |+
      # Flink Operator Logging Overrides
      rootLogger.level = DEBUG
      logger.operator.name= org.apache.flink.kubernetes.operator
      logger.operator.level = DEBUG
    log4j-console.properties: |+
      # Flink Deployment Logging Overrides
      rootLogger.level = DEBUG

  metrics:
    port: 9100
  • Not managed by ArgoCD yet. The integration will follow the standard pattern: an argocd-apps entry under cluster-services with autoSync: false.
  • The chart is values-only today: the Flink deployment is driven entirely from values.yaml, with no extra templates yet. Registering it in the argocd-apps catalog is the pending step.

Trade-offs

Decision. Flink for stateful stream processing

Alternative. Spark Structured Streaming

Why. True event-at-a-time semantics and lower latency fit the bot event streams, and checkpointing state to S3-compatible storage makes recovery cheap.

← Back to Data & Streaming · All service groups