From 1e1ad3c0276c3b85d253397ca58a9ef74606607d Mon Sep 17 00:00:00 2001 From: taymindis Date: Wed, 26 Jan 2022 23:58:57 +0800 Subject: [PATCH 1/2] add on CASSANDRA_YML_ prefix for extra configuration --- 4.0/docker-entrypoint.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/4.0/docker-entrypoint.sh b/4.0/docker-entrypoint.sh index 6549f83..8ed1d64 100755 --- a/4.0/docker-entrypoint.sh +++ b/4.0/docker-entrypoint.sh @@ -40,6 +40,17 @@ _sed-in-place() { rm "$tempFile" } +_sed-in-place_ext() { + local filename="$1"; + key="$2"; + value="$3"; + local tempFile + tempFile="$(mktemp)" + grep -q "$key" $filename && sed -r 's/^(# )?('"$key"':).*/\2 '"$value"'/' "$filename" > "$tempFile" || sed "$ a\\${key}: $value" "$filename" > "$tempFile" + cat "$tempFile" > "$filename" + rm "$tempFile" +} + if [ "$1" = 'cassandra' ]; then : ${CASSANDRA_RPC_ADDRESS='0.0.0.0'} @@ -81,6 +92,15 @@ if [ "$1" = 'cassandra' ]; then fi done + + for conf_yaml_var in "${!CASSANDRA_YML_@}"; do + conf_yaml_key="$(echo "${conf_yaml_var,,}" | sed -e 's/^cassandra_yml_//g')" + conf_yaml_val="${!conf_yaml_var}" + if [ "$conf_yaml_val" ]; then + _sed-in-place_ext "cassandra.yaml" "$conf_yaml_key" "$conf_yaml_val" + fi + done + for rackdc in dc rack; do var="CASSANDRA_${rackdc^^}" val="${!var}" From 7942ee41d844002f53376cebe2c05c89028a439a Mon Sep 17 00:00:00 2001 From: taymindis Date: Thu, 27 Jan 2022 00:01:34 +0800 Subject: [PATCH 2/2] add on CASSANDRA_YML_ prefix for extra configuration --- 4.0/docker-entrypoint.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/4.0/docker-entrypoint.sh b/4.0/docker-entrypoint.sh index 8ed1d64..789d856 100755 --- a/4.0/docker-entrypoint.sh +++ b/4.0/docker-entrypoint.sh @@ -97,7 +97,7 @@ if [ "$1" = 'cassandra' ]; then conf_yaml_key="$(echo "${conf_yaml_var,,}" | sed -e 's/^cassandra_yml_//g')" conf_yaml_val="${!conf_yaml_var}" if [ "$conf_yaml_val" ]; then - _sed-in-place_ext "cassandra.yaml" "$conf_yaml_key" "$conf_yaml_val" + _sed-in-place_ext "$CASSANDRA_CONF/cassandra.yaml" "$conf_yaml_key" "$conf_yaml_val" fi done