diff options
Diffstat (limited to 'runtime/src/main/docker/frontend')
-rw-r--r-- | runtime/src/main/docker/frontend/Dockerfile | 71 | ||||
-rw-r--r-- | runtime/src/main/docker/frontend/frontend-files.xml | 48 | ||||
-rw-r--r-- | runtime/src/main/docker/frontend/nginx/default.conf | 25 | ||||
-rw-r--r-- | runtime/src/main/docker/frontend/nginx/nginx.conf | 18 |
4 files changed, 162 insertions, 0 deletions
diff --git a/runtime/src/main/docker/frontend/Dockerfile b/runtime/src/main/docker/frontend/Dockerfile new file mode 100644 index 000000000..1d64d2a2d --- /dev/null +++ b/runtime/src/main/docker/frontend/Dockerfile @@ -0,0 +1,71 @@ +### +# ============LICENSE_START======================================================= +# ONAP CLAMP +# ================================================================================ +# Copyright (C) 2019 AT&T Intellectual Property. All rights +# reserved. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file 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============================================ +# =================================================================== +# +### + +# build environment +FROM node:12.10.0-alpine as build +WORKDIR /app +#ENV PATH /app/node_modules/.bin:$PATH +COPY onap-policy-clamp-frontend/ /app/ +RUN npm install --silent && \ + npm run build + +FROM nginx:1.17.0-alpine + +MAINTAINER "The Onap Team" +LABEL Description="This image contains Clamp frontend" + +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 + +RUN addgroup onap && \ + adduser -D -G onap clamp && \ + mkdir /var/log/onap && \ + chmod a+rwx /var/log/onap + +COPY --from=build /app/build /usr/share/nginx/html +COPY --from=build /app/ssl /etc/ssl + +RUN rm /etc/nginx/conf.d/default.conf && \ + ln -sf /dev/stdout /var/log/nginx/access.log && \ + ln -sf /dev/stderr /var/log/nginx/error.log + +COPY nginx/nginx.conf /etc/nginx/nginx.conf +COPY nginx/default.conf /etc/nginx/conf.d/default.conf + +WORKDIR /app + +RUN chown -R clamp:onap /app && chmod -R 755 /app && \ + chown -R clamp:onap /var/cache/nginx && \ + chown -R clamp:onap /var/log/nginx && \ + chown -R clamp:onap /etc/nginx/conf.d && \ + touch /var/run/nginx.pid && \ + chown -R clamp:onap /var/run/nginx.pid + +USER clamp +EXPOSE 2443 +CMD ["nginx", "-g", "daemon off;"] + diff --git a/runtime/src/main/docker/frontend/frontend-files.xml b/runtime/src/main/docker/frontend/frontend-files.xml new file mode 100644 index 000000000..aaf32be81 --- /dev/null +++ b/runtime/src/main/docker/frontend/frontend-files.xml @@ -0,0 +1,48 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP CLAMP + ================================================================================ + Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + ================================================================================ + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file 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========================================================= + --> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.1 http://maven.apache.org/xsd/assembly-1.1.1.xsd"> + <id>clamp-files</id> + + <formats> + <format>tar.gz</format> + </formats> + <includeBaseDirectory>false</includeBaseDirectory> + + <fileSets> + <!-- include config files --> + <fileSet> + <excludes> + <exclude>node_modules</exclude> + </excludes> + <directory>${project.build.directory}/${ui.react.src}</directory> + <outputDirectory></outputDirectory> + </fileSet> + <!-- include ssl certificates files obtain from aaf p12 --> + <fileSet> + <directory>${project.basedir}/src/main/resources/clds/aaf/ssl</directory> + <outputDirectory>ssl</outputDirectory> + </fileSet> + </fileSets> + +</assembly> diff --git a/runtime/src/main/docker/frontend/nginx/default.conf b/runtime/src/main/docker/frontend/nginx/default.conf new file mode 100644 index 000000000..570806034 --- /dev/null +++ b/runtime/src/main/docker/frontend/nginx/default.conf @@ -0,0 +1,25 @@ +server { + + listen 2443 default ssl; + ssl_protocols TLSv1.2; + ssl_certificate /etc/ssl/clamp.pem; + ssl_certificate_key /etc/ssl/clamp.key; + ssl_verify_client optional_no_ca; + location /restservices/clds/ { + proxy_pass https://policy-clamp-backend:8443; + proxy_set_header X-SSL-Cert $ssl_client_escaped_cert; + } + + location / { + root /usr/share/nginx/html; + index index.html index.htm; + try_files $uri $uri/ /index.html; + } + + error_page 500 502 503 504 /50x.html; + + location = /50x.html { + root /usr/share/nginx/html; + } + +}
\ No newline at end of file diff --git a/runtime/src/main/docker/frontend/nginx/nginx.conf b/runtime/src/main/docker/frontend/nginx/nginx.conf new file mode 100644 index 000000000..beeb2b1eb --- /dev/null +++ b/runtime/src/main/docker/frontend/nginx/nginx.conf @@ -0,0 +1,18 @@ +worker_processes 1; +pid /var/run/nginx.pid; +error_log /dev/stdout info; +events { +} +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log /var/log/nginx/access.log main; + sendfile on; + #tcp_nopush on; + keepalive_timeout 65; + #gzip on; + include /etc/nginx/conf.d/*.conf; + }
\ No newline at end of file |