connector tasks.max Within [1, 16]
Cap connector parallelism. Runaway tasks.max is the #1 way to DoS your own Connect cluster.
Rationale
A developer sets `tasks.max: 200` thinking "more = faster" and starves every other connector on the cluster (Connect schedules tasks round-robin across workers). The upper bound also forces a conversation about why the source actually needs that much parallelism. Usually it does not. Floor of 1 catches the YAML typo `tasks.max: 0`.
Pattern
1 <= tasks.max <= 16
Examples
tasks.max: 4
tasks.max: 0
tasks.max: 200
Parameters
| Name | Default | Description |
|---|---|---|
min |
1 |
Minimum tasks.max. |
max |
16 |
Maximum tasks.max. |
Implementation
Drop this YAML into Conduktor Console as a ResourcePolicy, then link it from an ApplicationInstance, Application, or KafkaCluster.
Conduktor ResourcePolicy
# Conduktor self-service ResourcePolicy # Connector exposes spec.config (singular); every value is a string. --- apiVersion: self-serve/v1 kind: ResourcePolicy metadata: name: connector-tasks-max-bound spec: targetKind: Connector description: tasks.max must be in [1, 16] rules: - condition: '"tasks.max" in spec.config && int(string(spec.config["tasks.max"])) >= 1 && int(string(spec.config["tasks.max"])) <= 16' errorMessage: "tasks.max must be in [1, 16] — higher values starve other tenants on the Connect cluster"
Related policies
Try Conduktor Console
Enforce policies like this across your team — central audit history, pre-commit guardrails, ApplicationInstance bindings. 5-min Docker install.
Get Started →