[Docker] Revert use of Java11 92/103292/6
authorSylvain Desbureaux <sylvain.desbureaux@orange.com>
Fri, 6 Mar 2020 16:52:04 +0000 (17:52 +0100)
committerSylvain Desbureaux <sylvain.desbureaux@orange.com>
Tue, 10 Mar 2020 12:22:19 +0000 (13:22 +0100)
But keep use of non root user

Issue-ID: SO-264
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: Idde810bc130350070f65236633d4e89298d14d3b

packages/docker/pom.xml
packages/docker/src/main/docker/docker-files/Dockerfile.so-app
packages/docker/src/main/docker/docker-files/Dockerfile.so-base-image [new file with mode: 0644]
packages/docker/src/main/docker/docker-files/scripts/start-app.sh [changed mode: 0644->0755]

index 8d95d06..b231ded 100644 (file)
               <name>${docker.image.prefix}/base-image:1.0</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-base-image</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-base-image</dockerFile>
               </build>
             </image>
             <image>
               <name>${docker.image.prefix}/vnfm-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/ve-vnfm-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/catalog-db-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/request-db-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/sdnc-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/openstack-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/vfc-adapter</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
              <name>${docker.image.prefix}/nssmf-adapter</name>
               <build>
                <cleanup>try</cleanup>
-               <dockerFileDir>docker-files</dockerFileDir>
-               <dockerFile>Dockerfile.so-app</dockerFile>
+               <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                <tags>
                 <tag>${project.version}</tag>
                 <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/so-appc-orchestrator</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/sdc-controller</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/bpmn-infra</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/api-handler-infra</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/so-monitoring</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
               <name>${docker.image.prefix}/so-simulator</name>
               <build>
                 <cleanup>try</cleanup>
-                <dockerFileDir>docker-files</dockerFileDir>
-                <dockerFile>Dockerfile.so-app</dockerFile>
+                <dockerFile>docker-files/Dockerfile.so-app</dockerFile>
                 <tags>
                   <tag>${project.version}</tag>
                   <tag>${project.version}-${maven.build.timestamp}</tag>
index 84bd298..dc86ff8 100644 (file)
@@ -1,4 +1,4 @@
-FROM registry.gitlab.com/onap-integration/docker/onap-java
+FROM onap/so/base-image:1.0
 
 ARG http_proxy
 ENV HTTP_PROXY=$http_proxy
@@ -8,18 +8,19 @@ ENV HTTPS_PROXY=$https_proxy
 ENV https_proxy=$HTTPS_PROXY
 
 USER root
-RUN mkdir -p /app/{config,certificates,logs,ca-certificates}
-RUN chown -R onap:onap /app && chmod 700 /app/*.sh
+RUN mkdir -p /app/config
+RUN mkdir -p /app/certificates
+RUN mkdir -p /app/logs
+RUN mkdir -p /app/ca-certificates
 
-USER onap
 COPY maven/app.jar /app
 COPY configs/logging/logback-spring.xml /app
 COPY scripts/start-app.sh /app
 COPY scripts/wait-for.sh /app
 COPY ca-certificates/onap-ca.crt /app/ca-certificates/onap-ca.crt
+RUN chown -R so:so /app
 
-RUN chmod 700 /app/*.sh
-
+USER so
 # Springboot configuration (required)
 VOLUME /app/config
 
@@ -27,4 +28,4 @@ VOLUME /app/config
 VOLUME /app/ca-certificates
 
 WORKDIR /app
-CMD ["/app/start-app.sh"]
+ENTRYPOINT ["/app/start-app.sh"]
diff --git a/packages/docker/src/main/docker/docker-files/Dockerfile.so-base-image b/packages/docker/src/main/docker/docker-files/Dockerfile.so-base-image
new file mode 100644 (file)
index 0000000..031142f
--- /dev/null
@@ -0,0 +1,14 @@
+FROM docker.io/openjdk:8-jdk-alpine
+
+ARG http_proxy
+ARG https_proxy
+ENV HTTP_PROXY=$http_proxy
+ENV HTTPS_PROXY=$https_proxy
+ENV http_proxy=$HTTP_PROXY
+ENV https_proxy=$HTTPS_PROXY
+
+# Install commonly needed tools
+RUN apk --no-cache add curl netcat-openbsd nss
+
+# Create 'so' user
+RUN addgroup -g 1000 so && adduser -S -u 1000 -G so -s /bin/sh so
old mode 100644 (file)
new mode 100755 (executable)
index ebab3c6..74d17fc
@@ -18,7 +18,7 @@ then
 
        # Re-exec this script as the 'onap' user.
        this=`readlink -f $0`
-       exec su onap -c  "$this"
+       exec su so -c  "$this"
 fi
 
 touch /app/app.jar
@@ -46,7 +46,7 @@ fi
 
 if [ ${APP} = "bpmn-infra" ]; then
        ln -s ${LOG_PATH} BPMN
-fi 
+fi
 
 if [ ${APP} = "so-monitoring" ]; then
        ln -s ${LOG_PATH} MONITORING