2525ARG ELEMENTAL_SERVER_SERVICE_ACCOUNT="edb01"
2626ARG ELEMENTAL_SERVER_SERVICE_GROUP="edb01"
2727
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+
2831# Elemental data cache size
2932ARG ELEMENTAL_SERVER_CACHE_MEM="256"
3033# Elemental maximum number of database brokers
@@ -56,6 +59,7 @@ FROM cgr.dev/chainguard/wolfi-base
5659# Inherit global args to this build stage
5760ARG ELEMENTAL_SERVER_SERVICE_ACCOUNT
5861ARG ELEMENTAL_SERVER_SERVICE_GROUP
62+ ARG ELEMENTAL_CONTAINER_DEBUG_USER_ACCOUNT
5963ARG ELEMENTAL_SERVER_CACHE_MEM
6064ARG ELEMENTAL_SERVER_MAX_BROKER
6165ARG JVM_MAX_RAM_PERCENTAGE
@@ -76,6 +80,16 @@ RUN apk add openjdk-8
7680RUN addgroup -S ${ELEMENTAL_SERVER_SERVICE_GROUP} \
7781 && adduser -S -G ${ELEMENTAL_SERVER_SERVICE_GROUP} -H -h /nonexistent -s /sbin/nologin -g "Elemental Database Server - Instance 01" ${ELEMENTAL_SERVER_SERVICE_ACCOUNT}
7882
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+
7993# Switch to Elemental Server service account
8094USER ${ELEMENTAL_SERVER_SERVICE_ACCOUNT}
8195
0 commit comments