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