OpenSuse docker file for drools-pdp 63/129663/2
authordanielhanrahan <daniel.hanrahan@est.tech>
Wed, 22 Jun 2022 10:56:23 +0000 (11:56 +0100)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Wed, 22 Jun 2022 12:54:11 +0000 (13:54 +0100)
Issue-ID: POLICY-4193
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: Ia3984d93b3aa6ec8daba61201216b03932f6d9ce

packages/docker/pom.xml
packages/docker/src/main/docker/suse.Dockerfile [new file with mode: 0644]
packages/install/src/files/base.conf
packages/pom.xml

index d4c2335..e9dea0f 100644 (file)
@@ -80,7 +80,7 @@
                             <name>onap/policy-drools</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/docker/src/main/docker/suse.Dockerfile b/packages/docker/src/main/docker/suse.Dockerfile
new file mode 100644 (file)
index 0000000..048546b
--- /dev/null
@@ -0,0 +1,93 @@
+#-------------------------------------------------------------------------------
+# Dockerfile
+# ============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=========================================================
+#-------------------------------------------------------------------------------
+FROM opensuse/leap:15.3
+
+LABEL maintainer="Policy Team"
+
+ARG BUILD_VERSION_DROOLS=${BUILD_VERSION_DROOLS}
+ARG POLICY_LOGS=/var/log/onap/policy/pdpd
+ARG POLICY_INSTALL=/tmp/policy-install
+ARG MVN_SNAPSHOT_REPO_URL
+ARG MVN_RELEASE_REPO_URL
+ARG http_proxy
+
+ENV BUILD_VERSION_DROOLS $BUILD_VERSION_DROOLS
+ENV JAVA_HOME /usr/lib64/jvm/java-11-openjdk
+ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
+ENV POLICY_INSTALL $POLICY_INSTALL
+ENV POLICY_INSTALL_INIT $POLICY_INSTALL/config
+ENV POLICY_LOGS $POLICY_LOGS
+ENV POLICY_HOME /opt/app/policy
+ENV POLICY_CONFIG $POLICY_HOME/config
+ENV POLICY_LOGBACK $POLICY_CONFIG/logback.xml
+ENV POLICY_DOCKER true
+ENV MVN_SNAPSHOT_REPO_URL $MVN_SNAPSHOT_REPO_URL
+ENV MVN_RELEASE_REPO_URL $MVN_RELEASE_REPO_URL
+ENV http_proxy $http_proxy
+
+RUN zypper -n -q install --no-recommends \
+        curl \
+        gzip \
+        java-11-openjdk-devel \
+        maven \
+        mariadb-client \
+        netcat-openbsd \
+        python3 \
+        python3-pip \
+        sysvinit-tools \
+        tar \
+        unzip \
+    && zypper -n -q update && zypper -n -q clean --all \
+    && python3 -m pip install --no-cache-dir --upgrade setuptools http-prompt \
+    && python3 -m pip install --no-cache-dir httpie \
+    && groupadd --system policy \
+    && useradd --system --shell /bin/sh -m -G policy policy \
+    && mkdir -p $POLICY_HOME $POLICY_CONFIG $POLICY_LOGS $POLICY_INSTALL $POLICY_INSTALL_INIT \
+    && chown -R policy:policy $POLICY_HOME $POLICY_CONFIG $POLICY_LOGS $POLICY_INSTALL $POLICY_INSTALL_INIT
+
+COPY --chown=policy:policy /maven/install-drools.zip pdpd-entrypoint.sh $POLICY_INSTALL/
+
+WORKDIR $POLICY_INSTALL
+USER policy:policy
+
+SHELL ["/bin/sh", "-c"]
+RUN unzip -o install-drools.zip && \
+    rm install-drools.zip && \
+    chown -R policy:policy * && \
+    mkdir -p $POLICY_HOME/logs $POLICY_HOME/config $HOME/.m2 && \
+    tar -C $POLICY_HOME -xvf base-${BUILD_VERSION_DROOLS}.tar.gz --no-same-owner && \
+    unzip policy-management-${BUILD_VERSION_DROOLS}.zip -d $POLICY_HOME && \
+    echo "source $POLICY_HOME/etc/profile.d/env.sh" >> "$HOME/.profile" && \
+    mv pdpd-entrypoint.sh $POLICY_HOME/bin/ && \
+    chmod 700 $POLICY_HOME/bin/* && \
+    chmod 600 $POLICY_HOME/config/* && \
+    rm -f $POLICY_INSTALL/*.conf && \
+    . $POLICY_HOME/etc/profile.d/env.sh && \
+    $POLICY_HOME/bin/features install healthcheck distributed-locking lifecycle no-locking legacy-config && \
+    $POLICY_HOME/bin/features enable lifecycle && \
+    find $HOME/.m2/ -name _maven.repositories -exec rm -v {} \; && \
+    find $HOME/.m2/ -name _remote.repositories -exec rm -v {} \; && \
+    rm $POLICY_INSTALL/policy-management-${BUILD_VERSION_DROOLS}.zip \
+       $POLICY_INSTALL/base-${BUILD_VERSION_DROOLS}.tar.gz 2> /dev/null
+
+EXPOSE 9696 6969
+ENTRYPOINT ["/opt/app/policy/bin/pdpd-entrypoint.sh"]
+CMD ["boot"]
index 86eb934..ecd9e22 100644 (file)
@@ -4,6 +4,7 @@
 # ================================================================================
 # Copyright (C) 2017-2022 AT&T Intellectual Property. All rights reserved.
 # Modifications Copyright (C) 2020 Bell Canada.
+# Modifications 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.
@@ -27,7 +28,6 @@ JVM_OPTIONS=-server -Xms512m -Xmx1024m
 
 POLICY_HOME=/opt/app/policy
 POLICY_LOGS=/opt/app/policy/logs
-JAVA_HOME=/usr/lib/jvm/java-11-openjdk
 
 KEYSTORE=/opt/app/policy/etc/ssl/policy-keystore
 KEYSTORE_PASSWD=Pol1cy_0nap
index 7ae3a5a..b049dcf 100644 (file)
@@ -4,13 +4,14 @@
   ================================================================================
   Copyright (C) 2017, 2019-2020 AT&T Intellectual Property. All rights reserved.
   Modifications Copyright (C) 2019-2020 Bell Canada.
+  Modifications 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.
             </modules>
             <properties>
                 <docker.skip.push>false</docker.skip.push>
+                <dockerFile>Dockerfile</dockerFile>
+            </properties>
+        </profile>
+        <profile>
+            <id>dockersuse</id>
+            <modules>
+                <module>base</module>
+                <module>install</module>
+                <module>docker</module>
+            </modules>
+            <properties>
+                <docker.skip.push>false</docker.skip.push>
+                <dockerFile>suse.Dockerfile</dockerFile>
             </properties>
         </profile>
     </profiles>