From 7c0dc83e4708b576f046879c4df9548359267678 Mon Sep 17 00:00:00 2001 From: Philipp Date: Sat, 28 Mar 2026 21:09:49 +0100 Subject: [PATCH] fix: wait for redpanda before bootstrapping topics --- .../projects/unrip/base/bootstrap-job.yaml | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/deploy/k8s/projects/unrip/base/bootstrap-job.yaml b/deploy/k8s/projects/unrip/base/bootstrap-job.yaml index 7d8895b..303c392 100644 --- a/deploy/k8s/projects/unrip/base/bootstrap-job.yaml +++ b/deploy/k8s/projects/unrip/base/bootstrap-job.yaml @@ -4,6 +4,7 @@ metadata: name: redpanda-topic-bootstrap namespace: unrip spec: + backoffLimit: 6 template: spec: restartPolicy: OnFailure @@ -12,7 +13,22 @@ spec: image: docker.redpanda.com/redpandadata/redpanda:v24.3.9 command: ["/bin/sh", "-lc"] args: - - >- - rpk topic create raw.near_intents.quote norm.swap_demand cmd.execute_trade exec.trade_result - --brokers redpanda.unrip.svc.cluster.local:9092 - --partitions 1 --replicas 1 || true + - | + set -eu + BROKERS="redpanda.unrip.svc.cluster.local:9092" + TOPICS="raw.near_intents.quote norm.swap_demand cmd.execute_trade exec.trade_result" + + echo "waiting for Redpanda at ${BROKERS}" + until rpk cluster info --brokers "$BROKERS" >/dev/null 2>&1; do + sleep 2 + done + + for topic in $TOPICS; do + if rpk topic describe "$topic" --brokers "$BROKERS" >/dev/null 2>&1; then + echo "topic already exists: $topic" + continue + fi + + echo "creating topic: $topic" + rpk topic create --brokers "$BROKERS" --partitions 1 --replicas 1 "$topic" + done