aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorAlex Shatov <alexs@att.com>2020-02-28 14:59:50 -0500
committerAlex Shatov <alexs@att.com>2020-02-28 14:59:50 -0500
commitdbab04e8789e29fc8dd9e86b693812ea0e071c6a (patch)
tree1535e80ed384cdd9cc23c5d2542ee7951c04a4a7 /Dockerfile
parent781f8706277904ab00f5a739e0d5d64d0dc60b03 (diff)
4.3.0/6.1.0 deploy-handler - policyVersion as str4.3.0
- external version 4.3.0 - internal version 6.1.0 for code change - no API change - deployment-handler now expects the policyVersion as semver or any string to support for DMaaP MR update notification from the new PDP - changed Dockerfile to use the alpine base image to reduce the footprint - brought the latest packages except zip lib - added package-lock.json to freeze the dependencies - latest log4js - change of configuration file format - fixed call to cloudify API /node-instances added &_sort=id to make the pagination consistent - changed uuid/v4 to uuid.v4() to avoid the deprecation warning - unit test = coverage by nyc now = on policy API - assert all expected nock calls are done - integration testing with the latest policy-handler (DCAEGEN2-1851) and the new policy-engine is requested unit test coverage summary Statements : 83.78% ( 1023/1221 ) Branches : 62.95% ( 333/529 ) Functions : 84.35% ( 194/230 ) Lines : 84.18% ( 1011/1201 ) Change-Id: I174aa0b8804af0378755de86be833b0b763ddc1d Signed-off-by: Alex Shatov <alexs@att.com> Issue-ID: DCAEGEN2-2085
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile31
1 files changed, 23 insertions, 8 deletions
diff --git a/Dockerfile b/Dockerfile
index 1289868..d9aae18 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,14 +1,26 @@
-FROM node:10.16.0
+# ========================================================================
+# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved.
+# ========================================================================
+# Unless otherwise specified, all software contained herein is licensed
+# under the Apache License, Version 2.0 (the "License");
+# you may not use this software except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=================================================
+
+FROM node:10.16-alpine
ENV INSROOT /opt/app
ENV APPUSER dh
ENV APPDIR ${INSROOT}/${APPUSER}
-RUN mkdir -p ${APPDIR}/lib \
- && mkdir -p ${APPDIR}/etc \
- && mkdir -p ${APPDIR}/log \
- && useradd -d ${APPDIR} ${APPUSER}
-
COPY *.js ${APPDIR}/
COPY *.json ${APPDIR}/
COPY *.txt ${APPDIR}/
@@ -18,10 +30,13 @@ COPY ./etc/ ${APPDIR}/etc/
WORKDIR ${APPDIR}
-RUN npm install --only=production \
+RUN npm install --production \
+ && mkdir -p ${APPDIR}/log \
+ && addgroup ${APPUSER} \
+ && adduser -S -h ${APPDIR} -G ${APPUSER} ${APPUSER} \
&& chown -R ${APPUSER}:${APPUSER} ${APPDIR} \
&& npm remove -g npm \
- && ls -laR -Inode_modules
+ && ls -la
USER ${APPUSER}
VOLUME ${APPDIR}/log