redpanda / init-topics.sh
Subham9126's picture
Upload 5 files
0122e2f verified
Raw
History Blame Contribute Delete
1.08 kB
#!/bin/bash
set -euo pipefail
RPK="rpk --brokers 127.0.0.1:9092"
# ── Edit this array to define your topics ────────────────────────────────────
# Format: "topic-name:partitions"
TOPICS=(
"events:4"
"raw-data:4"
"processed:4"
"dead-letter:1"
)
RETENTION_MS=3600000 # 1 hour β€” consume and store yourself
RETENTION_BYTES=536870912 # 512MB per partition max
for entry in "${TOPICS[@]}"; do
IFS=':' read -r name partitions <<< "$entry"
if $RPK topic list 2>/dev/null | grep -q "^${name}"; then
echo " ↩ ${name} already exists"
continue
fi
$RPK topic create "$name" \
--partitions "$partitions" \
--replicas 1 \
--topic-config "retention.ms=${RETENTION_MS}" \
--topic-config "retention.bytes=${RETENTION_BYTES}" \
--topic-config "cleanup.policy=delete" \
--topic-config "compression.type=snappy"
echo " βœ“ ${name} (${partitions} partitions)"
done
echo "Topics ready:"
$RPK topic list