25
25
ARG ELEMENTAL_SERVER_SERVICE_ACCOUNT="edb01"
26
26
ARG ELEMENTAL_SERVER_SERVICE_GROUP="edb01"
27
27
28
+ # Name of the Linux user account to use for the interactive container user when needing to debug
29
+ ARG ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT="debug"
30
+
28
31
# Elemental data cache size
29
32
ARG ELEMENTAL_SERVER_CACHE_MEM="256"
30
33
# Elemental maximum number of database brokers
@@ -56,6 +59,7 @@ FROM cgr.dev/chainguard/wolfi-base
56
59
# Inherit global args to this build stage
57
60
ARG ELEMENTAL_SERVER_SERVICE_ACCOUNT
58
61
ARG ELEMENTAL_SERVER_SERVICE_GROUP
62
+ ARG ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT
59
63
ARG ELEMENTAL_SERVER_CACHE_MEM
60
64
ARG ELEMENTAL_SERVER_MAX_BROKER
61
65
ARG JVM_MAX_RAM_PERCENTAGE
@@ -76,6 +80,16 @@ RUN apk add openjdk-21
76
80
RUN addgroup -S ${ELEMENTAL_SERVER_SERVICE_GROUP} \
77
81
&& adduser -S -G ${ELEMENTAL_SERVER_SERVICE_GROUP} -H -h /nonexistent -s /sbin/nologin -g "Elemental Database Server - Instance 01" ${ELEMENTAL_SERVER_SERVICE_ACCOUNT}
78
82
83
+ # Add 'debug' user for interactive use, and add then to the Elemental Server service group
84
+ RUN adduser -D -g "Elemental Docker Container - debug user" ${ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT} \
85
+ && addgroup ${ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT} ${ELEMENTAL_SERVER_SERVICE_GROUP}
86
+
87
+ # Install sudo
88
+ RUN apk add sudo-rs
89
+ COPY --chmod=0440 <<EOF /etc/sudoers.d/${ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT}
90
+ ${ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT} ALL = (ALL:ALL) NOPASSWD:ALL
91
+ EOF
92
+
79
93
# Switch to Elemental Server service account
80
94
USER ${ELEMENTAL_SERVER_SERVICE_ACCOUNT}
81
95
0 commit comments