|
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