aboutsummaryrefslogtreecommitdiffstats
path: root/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh
diff options
context:
space:
mode:
Diffstat (limited to 'kubernetes/common/cassandra/resources/config/docker-entrypoint.sh')
-rw-r--r--kubernetes/common/cassandra/resources/config/docker-entrypoint.sh21
1 files changed, 12 insertions, 9 deletions
diff --git a/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh b/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh
index 5b652228a6..2d30f2e068 100644
--- a/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh
+++ b/kubernetes/common/cassandra/resources/config/docker-entrypoint.sh
@@ -1,4 +1,5 @@
#!/bin/bash
+
set -e
# first arg is `-f` or `--some-option`
@@ -11,7 +12,7 @@ fi
if [ "$1" = 'cassandra' -a "$(id -u)" = '0' ]; then
find /var/lib/cassandra /var/log/cassandra "$CASSANDRA_CONFIG" \
\! -user cassandra -exec chown cassandra '{}' +
- exec gosu cassandra "$BASH_SOURCE" "$@"
+ exec gosu cassandra "$0" "$@"
fi
_ip_address() {
@@ -27,7 +28,7 @@ _ip_address() {
}
# "sed -i", but without "mv" (which doesn't work on a bind-mounted file, for example)
-_sed-in-place() {
+_sed_in_place() {
local filename="$1"; shift
local tempFile
tempFile="$(mktemp)"
@@ -56,7 +57,7 @@ if [ "$1" = 'cassandra' ]; then
fi
: ${CASSANDRA_SEEDS:="$CASSANDRA_BROADCAST_ADDRESS"}
- _sed-in-place "$CASSANDRA_CONFIG/cassandra.yaml" \
+ _sed_in_place "$CASSANDRA_CONFIG/cassandra.yaml" \
-r 's/(- seeds:).*/\1 "'"$CASSANDRA_SEEDS"'"/'
for yaml in \
@@ -70,19 +71,21 @@ if [ "$1" = 'cassandra' ]; then
start_rpc \
authenticator \
; do
- var="CASSANDRA_${yaml^^}"
- val="${!var}"
+ var="CASSANDRA_$(echo $yaml | tr '[:lower:]' '[:upper:]')"
+ # eval presents no security issue here because of limited possible values of var
+ eval val=\$$var
if [ "$val" ]; then
- _sed-in-place "$CASSANDRA_CONFIG/cassandra.yaml" \
+ _sed_in_place "$CASSANDRA_CONFIG/cassandra.yaml" \
-r 's/^(# )?('"$yaml"':).*/\2 '"$val"'/'
fi
done
for rackdc in dc rack; do
- var="CASSANDRA_${rackdc^^}"
- val="${!var}"
+ var="CASSANDRA_$(echo $rackdc | tr '[:lower:]' '[:upper:]')"
+ # eval presents no security issue here because of limited possible values of var
+ eval val=\$$var
if [ "$val" ]; then
- _sed-in-place "$CASSANDRA_CONFIG/cassandra-rackdc.properties" \
+ _sed_in_place "$CASSANDRA_CONFIG/cassandra-rackdc.properties" \
-r 's/^('"$rackdc"'=).*/\1 '"$val"'/'
fi
done