|
7 | 7 | init.sh: |-
|
8 | 8 | #!/bin/bash
|
9 | 9 | set -x
|
| 10 | + cp /etc/kafka-configmap/log4j.properties /etc/kafka/ |
10 | 11 |
|
11 | 12 | KAFKA_BROKER_ID=${HOSTNAME##*-}
|
12 |
| - cp -Lur /etc/kafka-configmap/* /etc/kafka/ |
13 |
| - sed -i "s/#init#broker.id=#init#/broker.id=$KAFKA_BROKER_ID/" /etc/kafka/server.properties |
14 |
| -
|
| 13 | + SEDS=("s/#init#broker.id=#init#/broker.id=$KAFKA_BROKER_ID/") |
15 | 14 | LABELS="kafka-broker-id=$KAFKA_BROKER_ID"
|
16 | 15 | ANNOTATIONS=""
|
17 | 16 |
|
18 | 17 | hash kubectl 2>/dev/null || {
|
19 |
| - sed -i "s/#init#broker.rack=#init#/#init#broker.rack=# kubectl not found in path/" /etc/kafka/server.properties |
| 18 | + SEDS+=("s/#init#broker.rack=#init#/#init#broker.rack=# kubectl not found in path/") |
20 | 19 | } && {
|
21 | 20 | ZONE=$(kubectl get node "$NODE_NAME" -o=go-template='{{index .metadata.labels "failure-domain.beta.kubernetes.io/zone"}}')
|
22 | 21 | if [ $? -ne 0 ]; then
|
23 |
| - sed -i "s/#init#broker.rack=#init#/#init#broker.rack=# zone lookup failed, see -c init-config logs/" /etc/kafka/server.properties |
| 22 | + SEDS+=("s/#init#broker.rack=#init#/#init#broker.rack=# zone lookup failed, see -c init-config logs/") |
24 | 23 | elif [ "x$ZONE" == "x<no value>" ]; then
|
25 |
| - sed -i "s/#init#broker.rack=#init#/#init#broker.rack=# zone label not found for node $NODE_NAME/" /etc/kafka/server.properties |
| 24 | + SEDS+=("s/#init#broker.rack=#init#/#init#broker.rack=# zone label not found for node $NODE_NAME/") |
26 | 25 | else
|
27 |
| - sed -i "s/#init#broker.rack=#init#/broker.rack=$ZONE/" /etc/kafka/server.properties |
| 26 | + SEDS+=("s/#init#broker.rack=#init#/broker.rack=$ZONE/") |
28 | 27 | LABELS="$LABELS kafka-broker-rack=$ZONE"
|
29 | 28 | fi
|
30 | 29 |
|
|
33 | 32 | echo "Outside (i.e. cluster-external access) host lookup command failed"
|
34 | 33 | else
|
35 | 34 | OUTSIDE_PORT=3240${KAFKA_BROKER_ID}
|
36 |
| - sed -i "s|#init#advertised.listeners=OUTSIDE://#init#|advertised.listeners=OUTSIDE://${OUTSIDE_HOST}:${OUTSIDE_PORT}|" /etc/kafka/server.properties |
| 35 | + SEDS+=("s|#init#advertised.listeners=OUTSIDE://#init#|advertised.listeners=OUTSIDE://${OUTSIDE_HOST}:${OUTSIDE_PORT}|") |
37 | 36 | ANNOTATIONS="$ANNOTATIONS kafka-listener-outside-host=$OUTSIDE_HOST kafka-listener-outside-port=$OUTSIDE_PORT"
|
38 | 37 | fi
|
39 | 38 |
|
|
44 | 43 | kubectl -n $POD_NAMESPACE annotate pod $POD_NAME $ANNOTATIONS || echo "Failed to annotate $POD_NAMESPACE.$POD_NAME - RBAC issue?"
|
45 | 44 | fi
|
46 | 45 | }
|
| 46 | + printf '%s\n' "${SEDS[@]}" | sed -f - /etc/kafka-configmap/server.properties > /etc/kafka/server.properties.tmp |
| 47 | + [ $? -eq 0 ] && mv /etc/kafka/server.properties.tmp /etc/kafka/server.properties |
| 48 | + [ -f /etc/kafka/server.properties ] && echo "Ready for Kafka start" && tail -f /dev/null |
47 | 49 |
|
48 | 50 | server.properties: |-
|
49 | 51 | ############################# Log Basics #############################
|
|
0 commit comments