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.
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.
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 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.