diff options
author | Sirisha_Manchikanti <sirisha.manchikanti@est.tech> | 2021-05-07 15:17:52 +0100 |
---|---|---|
committer | Sirisha_Manchikanti <sirisha.manchikanti@est.tech> | 2021-05-13 09:00:52 +0100 |
commit | f83411a86e2277adae69e780e8511913d61a0f17 (patch) | |
tree | d75f197e703270cda608c9bd0d236f7ce8c12e13 /runtime/src/main/docker | |
parent | cac5cc982413ab9593186d308eda8936e9603ad9 (diff) |
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 <sirisha.manchikanti@est.tech>
Change-Id: I15bc8be92ed020343bff4024c4718fec462c40d7
Signed-off-by: liamfallon <liam.fallon@est.tech>
Diffstat (limited to 'runtime/src/main/docker')
-rw-r--r-- | runtime/src/main/docker/backend/Dockerfile | 53 | ||||
-rw-r--r-- | runtime/src/main/docker/backend/backend-files.xml | 43 | ||||
-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 |
6 files changed, 258 insertions, 0 deletions
diff --git a/runtime/src/main/docker/backend/Dockerfile b/runtime/src/main/docker/backend/Dockerfile new file mode 100644 index 000000000..bb964158e --- /dev/null +++ b/runtime/src/main/docker/backend/Dockerfile @@ -0,0 +1,53 @@ +###
+# ============LICENSE_START=======================================================
+# ONAP CLAMP
+# ================================================================================
+# Copyright (C) 2018, 2021 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============================================
+# ===================================================================
+#
+###
+
+FROM onap/integration-java11:8.0.0
+
+MAINTAINER "The Onap Team"
+LABEL Description="This image contains alpine, openjdk 11 and policy clamp"
+
+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
+
+USER root
+
+RUN mkdir -p /opt/policy/clamp && \
+ chown -R onap:onap /opt/policy/clamp
+
+VOLUME /opt/policy/clamp/config
+
+COPY --chown=onap:onap onap-policy-clamp-backend/policy-clamp-backend.jar /opt/policy/clamp/policy-clamp-backend.jar
+RUN set -x && \
+ apk add --update libintl && \
+ apk add --virtual build_deps gettext && \
+ cp /usr/bin/envsubst /usr/local/bin/envsubst && \
+ apk del build_deps
+
+USER onap
+WORKDIR /opt/policy/clamp/
+ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-XX:MinRAMPercentage=50.0", "-XX:MaxRAMPercentage=75.0","-jar" ,"./policy-clamp-backend.jar"]
+
diff --git a/runtime/src/main/docker/backend/backend-files.xml b/runtime/src/main/docker/backend/backend-files.xml new file mode 100644 index 000000000..c73c47f64 --- /dev/null +++ b/runtime/src/main/docker/backend/backend-files.xml @@ -0,0 +1,43 @@ +<!-- + ============LICENSE_START======================================================= + ECOMP CLAMP + ================================================================================ + Copyright (C) 2017 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> + <includes> + <include>${project.build.finalName}.jar</include> + </includes> + <directory>${project.build.directory}</directory> + <outputDirectory></outputDirectory> + </fileSet> + </fileSets> + +</assembly> 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 |