diff options
author | danielhanrahan <daniel.hanrahan@est.tech> | 2022-05-24 10:06:56 +0100 |
---|---|---|
committer | danielhanrahan <daniel.hanrahan@est.tech> | 2022-05-31 11:00:50 +0100 |
commit | 9848f96dc72e5b53ecbe8791fc3d98f5fb225221 (patch) | |
tree | 8757eb1d3b4b7d7e4af6ef5f21dba07fbc6afc83 | |
parent | 6be0d55c23de2c4f245fce0ae710cfdf24cd1660 (diff) |
OpenSuse docker file for APEX-PDP
Create OpenSuse docker file
Add build profile for OpenSuse docker image
Issue-ID: POLICY-4190
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I2a2635a0353ff4e402e8c9049245b947fe5781d3
-rw-r--r-- | packages/apex-pdp-docker/pom.xml | 2 | ||||
-rw-r--r-- | packages/apex-pdp-docker/src/main/docker/suse.Dockerfile | 55 | ||||
-rw-r--r-- | packages/pom.xml | 12 |
3 files changed, 68 insertions, 1 deletions
diff --git a/packages/apex-pdp-docker/pom.xml b/packages/apex-pdp-docker/pom.xml index 7caca41f5..23c8b1075 100644 --- a/packages/apex-pdp-docker/pom.xml +++ b/packages/apex-pdp-docker/pom.xml @@ -74,7 +74,7 @@ <name>onap/policy-apex-pdp</name> <build> <cleanup>try</cleanup> - <dockerFile>Dockerfile</dockerFile> + <dockerFile>${dockerFile}</dockerFile> <tags> <tag>${project.version}</tag> <tag>${project.version}-${maven.build.timestamp}</tag> diff --git a/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile b/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile new file mode 100644 index 000000000..653760cd6 --- /dev/null +++ b/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile @@ -0,0 +1,55 @@ +#------------------------------------------------------------------------------- +# ============LICENSE_START======================================================= +# Copyright (C) 2022 Nordix Foundation. +# ================================================================================ +# 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. +# +# SPDX-License-Identifier: Apache-2.0 +# ============LICENSE_END========================================================= +#------------------------------------------------------------------------------- + +# +# Docker file to build an image that runs APEX on Java 11 or better in OpenSuse +# +FROM opensuse/leap:15.3 + +LABEL maintainer="Policy Team" + +ARG POLICY_LOGS=/var/log/onap/policy/apex-pdp +ENV POLICY_HOME=/opt/app/policy/apex-pdp +ENV POLICY_LOGS=$POLICY_LOGS +ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8 +ENV JAVA_HOME=/usr/lib64/jvm/java-11-openjdk-11 + +RUN zypper -n -q install --no-recommends gzip java-11-openjdk-devel netcat-openbsd tar \ + && zypper -n -q update && zypper -n -q clean --all \ + && groupadd --system apexuser && useradd --system --shell /bin/sh -G apexuser apexuser \ + && mkdir -p $POLICY_HOME \ + && mkdir -p $POLICY_LOGS \ + && chown -R apexuser:apexuser $POLICY_HOME $POLICY_LOGS \ + && mkdir /packages + +COPY /maven/apex-pdp-package-full.tar.gz /packages +RUN tar xvfz /packages/apex-pdp-package-full.tar.gz --directory $POLICY_HOME \ + && rm /packages/apex-pdp-package-full.tar.gz \ + && find /opt/app -type d -perm 755 \ + && find /opt/app -type f -perm 644 \ + && chmod 755 $POLICY_HOME/bin/* \ + && cp -pr $POLICY_HOME/examples /home/apexuser \ + && chown -R apexuser:apexuser /home/apexuser/* $POLICY_HOME \ + && chmod 755 $POLICY_HOME/etc/* + +USER apexuser +ENV PATH $POLICY_HOME/bin:$PATH +WORKDIR /home/apexuser +ENTRYPOINT [ "/bin/sh" ] diff --git a/packages/pom.xml b/packages/pom.xml index 95c8f5b2b..b622a9b8f 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -51,6 +51,18 @@ </modules> <properties> <docker.skip.push>false</docker.skip.push> + <dockerFile>Dockerfile</dockerFile> + </properties> + </profile> + <profile> + <id>dockersuse</id> + <modules> + <module>apex-pdp-package-full</module> + <module>apex-pdp-docker</module> + </modules> + <properties> + <docker.skip.push>false</docker.skip.push> + <dockerFile>suse.Dockerfile</dockerFile> </properties> </profile> |