Add the procurement topic and Supply's write access to it

reorder.requested and its answer (confirmed/rejected) share the topic, keyed
by the reorder id, so ordering between the ask and the answer holds the way it
does for a product's own facts on classic-models.catalog.

Supply both writes and reads this topic — one service, two capacities, not a
separate procurement identity, per the 2026-08-31 decision.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Stéphane Tailland
2026-08-31 16:17:05 +02:00
parent d633d409fc
commit b62b92fe1a
+33 -2
View File
@@ -63,6 +63,25 @@ spec:
retention.ms: "604800000" retention.ms: "604800000"
cleanup.policy: delete cleanup.policy: delete
min.insync.replicas: "1" min.insync.replicas: "1"
---
# A supply request and its own answer, on one topic: reorder.requested and its
# eventual reorder.confirmed/reorder.rejected share a subject — the reorder id
# — so ordering between "asked" and "answered" holds the way it does for a
# product's own facts on classic-models.catalog.
apiVersion: kafka.strimzi.io/v1
kind: KafkaTopic
metadata:
name: classic-models.procurement
namespace: kafka
labels:
strimzi.io/cluster: kafka
spec:
partitions: 3
replicas: 1
config:
retention.ms: "604800000"
cleanup.policy: delete
min.insync.replicas: "1"
# --- accounts --------------------------------------------------------------- # --- accounts ---------------------------------------------------------------
# #
@@ -92,8 +111,12 @@ spec:
- Write - Write
- Describe - Describe
--- ---
# The supply agent. Reads the catalog topic only — an agent whose job is stock # The supply agent. Reads the catalog topic — its job is stock, it has no
# has no business reading who paid what. # business reading who paid what. It also both writes AND reads its own
# procurement topic: it raises a reorder request and answers its own request
# a moment later (this is one service acting in two capacities, not two
# services, per the 2026-08-31 decision that réapprovisionnement stays one
# service rather than splitting into a separate procurement identity).
apiVersion: kafka.strimzi.io/v1 apiVersion: kafka.strimzi.io/v1
kind: KafkaUser kind: KafkaUser
metadata: metadata:
@@ -114,6 +137,14 @@ spec:
operations: operations:
- Read - Read
- Describe - Describe
- resource:
type: topic
name: classic-models.procurement
patternType: literal
operations:
- Read
- Write
- Describe
- resource: - resource:
type: group type: group
name: supply- name: supply-