Skip to content

Commit 958e0e5

Browse files
authored
telegraf: Switch from sed to for loop for parsing groups (#730)
2 parents fb3b40f + 429be28 commit 958e0e5

File tree

4 files changed

+40
-44
lines changed

4 files changed

+40
-44
lines changed

telegraf/1.28/entrypoint.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@ else
1414
# ensure HOME is set to the telegraf user's home dir
1515
export HOME=$(getent passwd telegraf | cut -d : -f 6)
1616

17-
# honor groups supplied via 'docker run --group-add ...' but drop 'root' (the sed
18-
# removes 'telegraf' since we unconditionally add it and don't want it listed twice)
17+
# honor groups supplied via 'docker run --group-add ...' but drop 'root'
18+
# (also removes 'telegraf' since we unconditionally add it and don't want it listed twice)
19+
# see https://github.com/influxdata/influxdata-docker/issues/724
1920
groups="telegraf"
20-
extra_groups="$(id -Gn | sed \
21-
-e 's/ /,/g' \
22-
-e 's/,\(root\|telegraf\),/,/g' \
23-
-e 's/^\(root\|telegraf\),//g' \
24-
-e 's/,\(root\|telegraf\)$//g' \
25-
-e 's/^\(root\|telegraf\)$//g')"
26-
if [ -n "$extra_groups" ]; then
27-
groups="$groups,$extra_groups"
28-
fi
21+
extra_groups="$(id -Gn || true)"
22+
for group in $extra_groups; do
23+
case "$group" in
24+
root | telegraf) ;;
25+
*) groups="$groups,$group" ;;
26+
esac
27+
done
2928
exec setpriv --reuid telegraf --regid telegraf --groups "$groups" "$@"
3029
fi

telegraf/1.29/entrypoint.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@ else
1414
# ensure HOME is set to the telegraf user's home dir
1515
export HOME=$(getent passwd telegraf | cut -d : -f 6)
1616

17-
# honor groups supplied via 'docker run --group-add ...' but drop 'root' (the sed
18-
# removes 'telegraf' since we unconditionally add it and don't want it listed twice)
17+
# honor groups supplied via 'docker run --group-add ...' but drop 'root'
18+
# (also removes 'telegraf' since we unconditionally add it and don't want it listed twice)
19+
# see https://github.com/influxdata/influxdata-docker/issues/724
1920
groups="telegraf"
20-
extra_groups="$(id -Gn | sed \
21-
-e 's/ /,/g' \
22-
-e 's/,\(root\|telegraf\),/,/g' \
23-
-e 's/^\(root\|telegraf\),//g' \
24-
-e 's/,\(root\|telegraf\)$//g' \
25-
-e 's/^\(root\|telegraf\)$//g')"
26-
if [ -n "$extra_groups" ]; then
27-
groups="$groups,$extra_groups"
28-
fi
21+
extra_groups="$(id -Gn || true)"
22+
for group in $extra_groups; do
23+
case "$group" in
24+
root | telegraf) ;;
25+
*) groups="$groups,$group" ;;
26+
esac
27+
done
2928
exec setpriv --reuid telegraf --regid telegraf --groups "$groups" "$@"
3029
fi

telegraf/1.30/entrypoint.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@ else
1414
# ensure HOME is set to the telegraf user's home dir
1515
export HOME=$(getent passwd telegraf | cut -d : -f 6)
1616

17-
# honor groups supplied via 'docker run --group-add ...' but drop 'root' (the sed
18-
# removes 'telegraf' since we unconditionally add it and don't want it listed twice)
17+
# honor groups supplied via 'docker run --group-add ...' but drop 'root'
18+
# (also removes 'telegraf' since we unconditionally add it and don't want it listed twice)
19+
# see https://github.com/influxdata/influxdata-docker/issues/724
1920
groups="telegraf"
20-
extra_groups="$(id -Gn | sed \
21-
-e 's/ /,/g' \
22-
-e 's/,\(root\|telegraf\),/,/g' \
23-
-e 's/^\(root\|telegraf\),//g' \
24-
-e 's/,\(root\|telegraf\)$//g' \
25-
-e 's/^\(root\|telegraf\)$//g')"
26-
if [ -n "$extra_groups" ]; then
27-
groups="$groups,$extra_groups"
28-
fi
21+
extra_groups="$(id -Gn || true)"
22+
for group in $extra_groups; do
23+
case "$group" in
24+
root | telegraf) ;;
25+
*) groups="$groups,$group" ;;
26+
esac
27+
done
2928
exec setpriv --reuid telegraf --regid telegraf --groups "$groups" "$@"
3029
fi

telegraf/nightly/entrypoint.sh

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,16 @@ else
1414
# ensure HOME is set to the telegraf user's home dir
1515
export HOME=$(getent passwd telegraf | cut -d : -f 6)
1616

17-
# honor groups supplied via 'docker run --group-add ...' but drop 'root' (the sed
18-
# removes 'telegraf' since we unconditionally add it and don't want it listed twice)
17+
# honor groups supplied via 'docker run --group-add ...' but drop 'root'
18+
# (also removes 'telegraf' since we unconditionally add it and don't want it listed twice)
19+
# see https://github.com/influxdata/influxdata-docker/issues/724
1920
groups="telegraf"
20-
extra_groups="$(id -Gn | sed \
21-
-e 's/ /,/g' \
22-
-e 's/,\(root\|telegraf\),/,/g' \
23-
-e 's/^\(root\|telegraf\),//g' \
24-
-e 's/,\(root\|telegraf\)$//g' \
25-
-e 's/^\(root\|telegraf\)$//g')"
26-
if [ -n "$extra_groups" ]; then
27-
groups="$groups,$extra_groups"
28-
fi
21+
extra_groups="$(id -Gn || true)"
22+
for group in $extra_groups; do
23+
case "$group" in
24+
root | telegraf) ;;
25+
*) groups="$groups,$group" ;;
26+
esac
27+
done
2928
exec setpriv --reuid telegraf --regid telegraf --groups "$groups" "$@"
3029
fi

0 commit comments

Comments
 (0)