fix: pin a Kafka version the operator supports, and add the API's producer
Strimzi 1.2.0 supports 4.2.0 through 4.3.1; the manifest still asked for 4.1.0, so the cluster sat NotReady with the reason only visible in the Kafka CR's status — the operator logs said nothing. Pinned to 4.3.1, and metadataVersion removed rather than guessed: the operator derives it, and a stale spelling there is the same failure one release later. Adds a KafkaUser for classic-models-api: Write and Describe on the classic-models. prefix, and no Read. It publishes domain events and consumes nothing, and a producer that can read every topic exfiltrates every other domain's events if it is ever compromised. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,7 +9,7 @@ Single-broker Kafka cluster for dev/test, deployed via the [Strimzi](https://str
|
||||
```
|
||||
kafka namespace
|
||||
├── strimzi-cluster-operator Strimzi operator — reconciles Kafka/KafkaUser/KafkaTopic CRs
|
||||
├── kafka-dual-role-0 Kafka 4.1.0 broker (KRaft, controller + broker in one pod)
|
||||
├── kafka-dual-role-0 Kafka 4.3.1 broker (KRaft, controller + broker in one pod)
|
||||
└── kafka-entity-operator Topic Operator + User Operator (manages topics and users)
|
||||
```
|
||||
|
||||
@@ -40,6 +40,12 @@ kafka-kafka-bootstrap.kafka.svc.cluster.local:9093
|
||||
|---|---|---|
|
||||
| `kafka-admin` | `kafka-admin` | Super user — unrestricted access |
|
||||
| `kafka-client` | `kafka-client` | Application user — Read/Write all topics and groups |
|
||||
| `classic-models-api` | `classic-models-api` | Producer for `classic-models.*` — **Write and Describe only**, no Read |
|
||||
|
||||
`classic-models-api` publishes domain events and consumes nothing, so it is
|
||||
write-only and prefix-scoped. A producer that can also read every topic is a
|
||||
producer that exfiltrates every other domain's events if it is ever
|
||||
compromised.
|
||||
|
||||
Strimzi stores credentials in Kubernetes secrets. Each secret contains two keys:
|
||||
- `password` — the SCRAM password
|
||||
|
||||
Reference in New Issue
Block a user