From f83411a86e2277adae69e780e8511913d61a0f17 Mon Sep 17 00:00:00 2001 From: Sirisha_Manchikanti Date: Fri, 7 May 2021 15:17:52 +0100 Subject: Modular structure of clamp including controlloop This commit is the first commit that puts in multi module structure while changing the existing CLAMP code as little as possible. It adds a structure where common, models, participant and runtime are direct children under clamp, and current clamp code is moved under runtime. This runtime directory will host controlloop runtime code in later commits. Issue-ID: POLICY-3215 Signed-off-by: Sirisha_Manchikanti Change-Id: I15bc8be92ed020343bff4024c4718fec462c40d7 Signed-off-by: liamfallon --- runtime/src/main/docker/frontend/Dockerfile | 71 ++++++++++++++++++++++ .../src/main/docker/frontend/frontend-files.xml | 48 +++++++++++++++ .../src/main/docker/frontend/nginx/default.conf | 25 ++++++++ runtime/src/main/docker/frontend/nginx/nginx.conf | 18 ++++++ 4 files changed, 162 insertions(+) create mode 100644 runtime/src/main/docker/frontend/Dockerfile create mode 100644 runtime/src/main/docker/frontend/frontend-files.xml create mode 100644 runtime/src/main/docker/frontend/nginx/default.conf create mode 100644 runtime/src/main/docker/frontend/nginx/nginx.conf (limited to 'runtime/src/main/docker/frontend') 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 @@ + + + + clamp-files + + + tar.gz + + false + + + + + + node_modules + + ${project.build.directory}/${ui.react.src} + + + + + ${project.basedir}/src/main/resources/clds/aaf/ssl + ssl + + + + 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 -- cgit 1.2.3-korg