aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwr148d <wr148d@att.com>2020-06-01 14:26:31 -0400
committerwr148d <wr148d@att.com>2020-06-01 14:27:44 -0400
commit12c26408f8c7891dff22bd2549e34b1b00fb9461 (patch)
treec22e5072d1c66947d5aacd9246d26b139c3698e2
parentbfeeae6a4964ebacaca933e5453e528ce0abba0f (diff)
Containers should not run as root by default
Issue-ID: AAI-2822 Signed-off-by: wr148d <wr148d@att.com> Change-Id: I9f01acd217c20dd1c250401e9a96edc31ce77a79
-rwxr-xr-xsrc/main/docker/Dockerfile13
-rw-r--r--src/main/docker/docker-entrypoint.sh27
2 files changed, 15 insertions, 25 deletions
diff --git a/src/main/docker/Dockerfile b/src/main/docker/Dockerfile
index 9129f09..a9d4f2a 100755
--- a/src/main/docker/Dockerfile
+++ b/src/main/docker/Dockerfile
@@ -1,6 +1,6 @@
FROM @aai.docker.namespace@/aai-common-@aai.base.image@:@aai.base.image.version@
-RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-GA
+RUN mkdir -p /opt/aaihome/aaiadmin /opt/aai/logroot/AAI-GA /opt/app/aai-graphadmin/logs/gc
VOLUME /opt/aai/logroot/AAI-GA
VOLUME /opt/data
@@ -8,9 +8,18 @@ VOLUME /opt/tools
HEALTHCHECK --interval=40s --timeout=10s --retries=3 CMD nc -z -v localhost 8449 || exit 1
+RUN groupadd aaiadmin -g 1000
+
+RUN adduser -u 1000 -h /opt/aaihome/aaiadmin -S -D -G aaiadmin -s /bin/bash aaiadmin
+
# Add the proper files into the docker image from your build
WORKDIR /opt/app/aai-graphadmin
-COPY /maven/aai-graphadmin/ .
+
+RUN chown -R aaiadmin:aaiadmin /opt/app/aai-graphadmin /etc/profile.d /opt/aai/logroot/AAI-GA /opt/app /opt/aai/logroot /opt/app/aai-graphadmin/logs/gc
+
+COPY --chown=aaiadmin:aaiadmin /maven/aai-graphadmin/ .
+
+USER aaiadmin
ENV AAI_BUILD_VERSION @aai.docker.version@
# Expose the ports for outside linux to use
diff --git a/src/main/docker/docker-entrypoint.sh b/src/main/docker/docker-entrypoint.sh
index 76c8d5e..22da6cf 100644
--- a/src/main/docker/docker-entrypoint.sh
+++ b/src/main/docker/docker-entrypoint.sh
@@ -23,29 +23,13 @@ RESOURCES_HOME=${APP_HOME}/resources/;
export SERVER_PORT=${SERVER_PORT:-8449};
-USER_ID=${LOCAL_USER_ID:-9001}
-GROUP_ID=${LOCAL_GROUP_ID:-9001}
-
echo "Project Build Version: ${AAI_BUILD_VERSION}";
-if [ $(cat /etc/passwd | grep aaiadmin | wc -l) -eq 0 ]; then
-
- groupadd aaiadmin -g ${GROUP_ID} || {
- echo "Unable to create the group id for ${GROUP_ID}";
- exit 1;
- }
- useradd --shell=/bin/bash -u ${USER_ID} -g ${GROUP_ID} -o -c "" -m aaiadmin || {
- echo "Unable to create the user id for ${USER_ID}";
- exit 1;
- }
-fi;
-
-chown -R aaiadmin:aaiadmin /opt/app /opt/aai/logroot
find /opt/app/ -name "*.sh" -exec chmod +x {} +
if [ -f ${APP_HOME}/aai.sh ]; then
- gosu aaiadmin ln -s bin scripts
- gosu aaiadmin ln -s /opt/aai/logroot/AAI-GA logs
+ ln -s bin scripts
+ ln -s /opt/aai/logroot/AAI-GA logs
mv ${APP_HOME}/aai.sh /etc/profile.d/aai.sh
chmod 755 /etc/profile.d/aai.sh
@@ -56,7 +40,7 @@ if [ -f ${APP_HOME}/aai.sh ]; then
if [ -f ${APP_HOME}/bin/${scriptName} ]; then
shift 1;
- gosu aaiadmin ${APP_HOME}/bin/${scriptName} "$@" || {
+ ${APP_HOME}/bin/${scriptName} "$@" || {
echo "Failed to run the ${scriptName}";
exit 1;
}
@@ -70,9 +54,6 @@ if [ -f ${APP_HOME}/aai.sh ]; then
fi;
-mkdir -p /opt/app/aai-graphadmin/logs/gc
-chown -R aaiadmin:aaiadmin /opt/app/aai-graphadmin/logs/gc
-
if [ -f ${APP_HOME}/resources/aai-graphadmin-swm-vars.sh ]; then
source ${APP_HOME}/resources/aai-graphadmin-swm-vars.sh;
fi;
@@ -81,7 +62,7 @@ MIN_HEAP_SIZE=${MIN_HEAP_SIZE:-512m};
MAX_HEAP_SIZE=${MAX_HEAP_SIZE:-1024m};
MAX_METASPACE_SIZE=${MAX_METASPACE_SIZE:-512m};
-JAVA_CMD="exec gosu aaiadmin java";
+JAVA_CMD="exec java";
JVM_OPTS="${PRE_JVM_ARGS} -Xloggc:/opt/app/aai-graphadmin/logs/gc/aai_gc.log";
JVM_OPTS="${JVM_OPTS} -XX:HeapDumpPath=/opt/app/aai-graphadmin/logs/ajsc-jetty/heap-dump";