Skip to content

Commit 14b1097

Browse files
authored
feat: allow running kapacitor as non-root (#739)
2 parents f677a3a + 4adc1da commit 14b1097

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

kapacitor/1.7/alpine/Dockerfile

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
FROM alpine:3.18
22

33
RUN echo 'hosts: files dns' >> /etc/nsswitch.conf
4-
RUN apk add --no-cache ca-certificates && \
4+
RUN apk add --no-cache ca-certificates su-exec && \
55
update-ca-certificates
66

77
ENV KAPACITOR_VERSION 1.7.3
@@ -23,8 +23,14 @@ RUN set -ex && \
2323
cp -ar /usr/src/kapacitor-*/* / && \
2424
gpgconf --kill all && \
2525
rm -rf *.tar.gz* /usr/src /root/.gnupg && \
26-
apk del .build-deps
26+
apk del .build-deps && \
27+
addgroup -S kapacitor && \
28+
adduser -S kapacitor -G kapacitor && \
29+
mkdir -m 0750 -p /var/lib/kapacitor && \
30+
chown kapacitor:kapacitor /var/lib/kapacitor
31+
2732
COPY kapacitor.conf /etc/kapacitor/kapacitor.conf
33+
2834
EXPOSE 9092
2935

3036
VOLUME /var/lib/kapacitor

kapacitor/1.7/alpine/entrypoint.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ fi
88
KAPACITOR_HOSTNAME=${KAPACITOR_HOSTNAME:-$HOSTNAME}
99
export KAPACITOR_HOSTNAME
1010

11-
exec "$@"
11+
if [ "$(id -u)" -ne 0 ] || [ "${KAPACITOR_AS_ROOT}" = "true" ]; then
12+
exec "$@"
13+
else
14+
exec su-exec kapacitor "$@"
15+
fi

kapacitor/1.7/entrypoint.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ fi
88
KAPACITOR_HOSTNAME=${KAPACITOR_HOSTNAME:-$HOSTNAME}
99
export KAPACITOR_HOSTNAME
1010

11-
exec "$@"
11+
if [ "$(id -u)" -ne 0 ] || [ "${KAPACITOR_AS_ROOT}" = "true" ]; then
12+
exec "$@"
13+
else
14+
exec setpriv --reuid kapacitor --regid kapacitor --init-groups "$@"
15+
fi

0 commit comments

Comments
 (0)