diff options
Diffstat (limited to 'packages')
9 files changed, 71 insertions, 374 deletions
diff --git a/packages/apex-pdp-docker/pom.xml b/packages/apex-pdp-docker/pom.xml index 23c8b1075..ed5733bb5 100644 --- a/packages/apex-pdp-docker/pom.xml +++ b/packages/apex-pdp-docker/pom.xml @@ -3,6 +3,7 @@ Copyright (C) 2018 Ericsson. All rights reserved. Modifications Copyright (C) 2019-2020 Bell Canada. Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. + 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. @@ -61,6 +62,31 @@ </execution> </executions> </plugin> + + <plugin> + <groupId>io.github.git-commit-id</groupId> + <artifactId>git-commit-id-maven-plugin</artifactId> + <version>5.0.0</version> + <executions> + <execution> + <id>get-the-git-infos</id> + <goals> + <goal>revision</goal> + </goals> + <phase>initialize</phase> + </execution> + </executions> + <configuration> + <skipPoms>false</skipPoms> + <generateGitPropertiesFile>true</generateGitPropertiesFile> + <includeOnlyProperties> + <includeOnlyProperty>^git.build.(time|version)$</includeOnlyProperty> + <includeOnlyProperty>^git.commit.id.abbrev$</includeOnlyProperty> + </includeOnlyProperties> + <commitIdGenerationMode>full</commitIdGenerationMode> + </configuration> + </plugin> + <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> @@ -128,6 +154,7 @@ </execution> </executions> </plugin> + <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> diff --git a/packages/apex-pdp-docker/src/main/docker/Dockerfile b/packages/apex-pdp-docker/src/main/docker/Dockerfile index b788c7fbd..08bcddb05 100644 --- a/packages/apex-pdp-docker/src/main/docker/Dockerfile +++ b/packages/apex-pdp-docker/src/main/docker/Dockerfile @@ -1,6 +1,6 @@ #------------------------------------------------------------------------------- # ============LICENSE_START======================================================= -# Copyright (C) 2020 Nordix Foundation. +# Copyright (C) 2020-2022 Nordix Foundation. # Modification Copyright (C) 2020-2021 AT&T Foundation. # Modifications Copyright (C) 2021 Bell Canada. # ================================================================================ @@ -20,12 +20,22 @@ # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- -# -# Docker file to build an image that runs APEX on Java 11 or better in alpine -# +FROM busybox AS tarball +RUN mkdir /packages /extracted +COPY /maven/apex-pdp-package-full.tar.gz /packages/ +RUN tar xvzf /packages/apex-pdp-package-full.tar.gz --directory /extracted/ + FROM onap/policy-jdk-alpine:2.4.3 LABEL maintainer="Policy Team" +LABEL org.opencontainers.image.title="Policy APEX PDP" +LABEL org.opencontainers.image.description="Policy APEX PDP image based on Alpine" +LABEL org.opencontainers.image.url="https://github.com/onap/policy-apex-pdp" +LABEL org.opencontainers.image.vendor="ONAP Policy Team" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL org.opencontainers.image.created="${git.build.time}" +LABEL org.opencontainers.image.version="${git.build.version}" +LABEL org.opencontainers.image.revision="${git.commit.id.abbrev}" ARG POLICY_LOGS=/var/log/onap/policy/apex-pdp ENV POLICY_HOME=/opt/app/policy/apex-pdp @@ -36,20 +46,11 @@ RUN apk update \ vim \ iputils \ && addgroup -S apexuser && adduser -S apexuser -G apexuser \ - && mkdir -p $POLICY_HOME \ - && mkdir -p $POLICY_LOGS \ - && chown -R apexuser:apexuser $POLICY_LOGS \ - && mkdir /packages + && mkdir -p $POLICY_HOME $POLICY_LOGS \ + && chown -R apexuser:apexuser $POLICY_HOME $POLICY_LOGS -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/* +COPY --chown=apexuser:apexuser --from=tarball /extracted $POLICY_HOME +RUN cp -pr $POLICY_HOME/examples /home/apexuser USER apexuser ENV PATH $POLICY_HOME/bin:$PATH diff --git a/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile b/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile index 653760cd6..d947a3cc7 100644 --- a/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile +++ b/packages/apex-pdp-docker/src/main/docker/suse.Dockerfile @@ -18,12 +18,22 @@ # ============LICENSE_END========================================================= #------------------------------------------------------------------------------- -# -# Docker file to build an image that runs APEX on Java 11 or better in OpenSuse -# -FROM opensuse/leap:15.3 +FROM busybox AS tarball +RUN mkdir /packages /extracted +COPY /maven/apex-pdp-package-full.tar.gz /packages/ +RUN tar xvzf /packages/apex-pdp-package-full.tar.gz --directory /extracted/ + +FROM opensuse/leap:15.4 LABEL maintainer="Policy Team" +LABEL org.opencontainers.image.title="Policy APEX PDP" +LABEL org.opencontainers.image.description="Policy APEX PDP image based on OpenSuse" +LABEL org.opencontainers.image.url="https://github.com/onap/policy-apex-pdp" +LABEL org.opencontainers.image.vendor="ONAP Policy Team" +LABEL org.opencontainers.image.licenses="Apache-2.0" +LABEL org.opencontainers.image.created="${git.build.time}" +LABEL org.opencontainers.image.version="${git.build.version}" +LABEL org.opencontainers.image.revision="${git.commit.id.abbrev}" ARG POLICY_LOGS=/var/log/onap/policy/apex-pdp ENV POLICY_HOME=/opt/app/policy/apex-pdp @@ -31,23 +41,14 @@ 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 \ +RUN zypper -n -q install --no-recommends java-11-openjdk-devel netcat-openbsd \ && 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 + && mkdir -p $POLICY_HOME $POLICY_LOGS \ + && chown -R apexuser:apexuser $POLICY_HOME $POLICY_LOGS -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/* +COPY --chown=apexuser:apexuser --from=tarball /extracted $POLICY_HOME +RUN cp -pr $POLICY_HOME/examples /home/apexuser USER apexuser ENV PATH $POLICY_HOME/bin:$PATH diff --git a/packages/apex-pdp-package-full/pom.xml b/packages/apex-pdp-package-full/pom.xml index e5afa813f..e6e7b6aaf 100644 --- a/packages/apex-pdp-package-full/pom.xml +++ b/packages/apex-pdp-package-full/pom.xml @@ -2,7 +2,7 @@ ============LICENSE_START======================================================= Copyright (C) 2018 Ericsson. All rights reserved. Modifications Copyright (C) 2019-2020, 2022 Nordix Foundation - Modifications Copyright (C) 2019-2020 Bell Canada. + Modifications Copyright (C) 2019-2020, 2022 Bell Canada. Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); @@ -30,6 +30,7 @@ </parent> <artifactId>apex-pdp-package-full</artifactId> + <packaging>pom</packaging> <name>${project.artifactId}</name> <description>[${project.parent.artifactId}] packaging, with all optional functionality, clients, servlets, and examples included</description> @@ -79,6 +80,11 @@ <artifactId>plugins-context-schema-avro</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>org.onap.policy.apex-pdp.plugins.plugins-context.plugins-context-schema</groupId> + <artifactId>plugins-context-schema-json</artifactId> + <version>${project.version}</version> + </dependency> <!-- Plugins for Executors --> <dependency> @@ -476,94 +482,6 @@ </execution> </executions> </plugin> - <plugin> - <artifactId>maven-antrun-plugin</artifactId> - <executions> - <execution> - <phase>package</phase> - <configuration> - <tasks> - <untar - src="${project.build.directory}/${project.artifactId}-${project.version}.tar.gz" - dest="${project.build.directory}/install_hierarchy" compression="gzip" /> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - <execution> - <id>fix-permissions</id> - <phase>package</phase> - <configuration> - <tasks> - <chmod file="${project.build.directory}/install_hierarchy/bin/*" perm="755" /> - </tasks> - </configuration> - <goals> - <goal>run</goal> - </goals> - </execution> - </executions> - </plugin> - <!-- Build the dpkg distribution --> - <plugin> - <groupId>org.vafer</groupId> - <artifactId>jdeb</artifactId> - <version>1.5</version> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>jdeb</goal> - </goals> - <configuration> - <deb>${project.build.directory}/${project.artifactId}-${project.version}.deb</deb> - <controlDir>${basedir}/src/main/package/control</controlDir> - <dataSet> - <!-- Copy the Apex run time configuration --> - <data> - <src>${project.build.directory}/install_hierarchy/lib</src> - <type>directory</type> - <dst>lib</dst> - <mapper> - <type>perm</type> - <prefix>/opt/app/policy/${project.artifactId}-${project.version}/lib</prefix> - <filemode>755</filemode> - </mapper> - </data> - <data> - <src>${project.build.directory}/install_hierarchy/bin</src> - <type>directory</type> - <dst>etc</dst> - <mapper> - <type>perm</type> - <prefix>/opt/app/policy/${project.artifactId}-${project.version}/bin</prefix> - </mapper> - </data> - <data> - <src>${project.build.directory}/install_hierarchy/etc</src> - <type>directory</type> - <dst>etc</dst> - <mapper> - <type>perm</type> - <prefix>/opt/app/policy/${project.artifactId}-${project.version}/etc</prefix> - </mapper> - </data> - <data> - <src>${project.build.directory}/install_hierarchy/examples</src> - <type>directory</type> - <dst>etc</dst> - <mapper> - <type>perm</type> - <prefix>/opt/app/policy/${project.artifactId}-${project.version}/examples</prefix> - </mapper> - </data> - </dataSet> - </configuration> - </execution> - </executions> - </plugin> </plugins> </build> <profiles> diff --git a/packages/apex-pdp-package-full/src/main/package/control/control b/packages/apex-pdp-package-full/src/main/package/control/control deleted file mode 100644 index 25226d89b..000000000 --- a/packages/apex-pdp-package-full/src/main/package/control/control +++ /dev/null @@ -1,27 +0,0 @@ -#------------------------------------------------------------------------------- -# ============LICENSE_START======================================================= -# Copyright (C) 2016-2018 Ericsson. 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -#------------------------------------------------------------------------------- -Package: [[install.package.name]] -Version: [[version]] -Section: misc -Priority: optional -Architecture: all -Maintainer: Liam Fallon <liam.fallon@ericsson.com> -Description: Apex Microservice -Distribution: development diff --git a/packages/apex-pdp-package-full/src/main/package/control/postinst b/packages/apex-pdp-package-full/src/main/package/control/postinst deleted file mode 100644 index 1b12f5f2a..000000000 --- a/packages/apex-pdp-package-full/src/main/package/control/postinst +++ /dev/null @@ -1,59 +0,0 @@ -#! /bin/sh - -#------------------------------------------------------------------------------- -# ============LICENSE_START======================================================= -# Copyright (C) 2016-2018 Ericsson. 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -#------------------------------------------------------------------------------- - -# -# This script is called after package software is installed -# - -echo "********************postinst****************" -echo "arguments $*" -echo "***********************************************" - -# Check for debian abort-remove case which calls postinst, in which we do nothing -if [ "$1" = "abort-remove" ] -then - exit 0 -fi - -# Check if a soft link for latest version of Apex already exists -if [ -L "/opt/app/policy/apex-pdp" ]; then - rm /opt/app/policy/apex-pdp -fi - -# Add soft link for latest version of Apex -ln -s `ls /opt/app/policy | grep -i '^apex-*' | sort | tail -1` /opt/app/policy/apex-pdp - -# Add Apex-specific directories and set ownership as the Apex admin user -mkdir -p /var/log/onap/policy/apex-pdp -chown -R apexuser:apexuser /var/log/onap/policy/apex-pdp - -# Ensure everything has the correct permissions -find /opt/app -type d -perm 755 -find /opt/app -type f -perm 644 -chmod a+x /opt/app/policy/apex-pdp/bin/* - -# Copy examples to Apex user area -if [ -e /home/apexuser/examples ] -then - rm -rf /home/apexuser/examples -fi -cp -pr /opt/app/policy/apex-pdp/examples /home/apexuser diff --git a/packages/apex-pdp-package-full/src/main/package/control/postrm b/packages/apex-pdp-package-full/src/main/package/control/postrm deleted file mode 100644 index 2383820e5..000000000 --- a/packages/apex-pdp-package-full/src/main/package/control/postrm +++ /dev/null @@ -1,73 +0,0 @@ -#! /bin/sh - -#------------------------------------------------------------------------------- -# ============LICENSE_START======================================================= -# Copyright (C) 2016-2018 Ericsson. 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -#------------------------------------------------------------------------------- - -# -# This script is called after package software is removed -# - -echo "********************postrm*******************" -echo "arguments $*" -echo "*********************************************" - -# Check for debian upgrade case which calls postrm, in which we do nothing -if [ "$1" = "upgrade" ] -then - exit 0 -fi - -# Check if a soft link for apex exists, if so remove it -if [ -L "/opt/app/policy/apex-pdp" ]; then - rm /opt/app/policy/apex-pdp -fi - -DIRS_TO_DELETE=" - /var/log/onap/policy/apex-pdp - /opt/app/policy/apex-pdp -" - -for DIR in $DIRS_TO_DELETE -do - if [ -e $DIR ] - then - rm -rf $DIR - echo Directory $DIR removed - fi -done - -if [ -e "/home/apexuser" ] -then - echo "deleting home directory of user apexuser . . ." - rm -fr /home/apexuser -fi - -if getent passwd "apexuser" >/dev/null 2>&1 -then - echo "deleting user apexuser . . ." - userdel apexuser -fi - -if getent group "apexuser" >/dev/null 2>&1 -then - echo "deleting group apexuser . . ." - groupdel apexuser -fi - diff --git a/packages/apex-pdp-package-full/src/main/package/control/preinst b/packages/apex-pdp-package-full/src/main/package/control/preinst deleted file mode 100644 index 58257c5a2..000000000 --- a/packages/apex-pdp-package-full/src/main/package/control/preinst +++ /dev/null @@ -1,53 +0,0 @@ -#! /bin/sh - -#------------------------------------------------------------------------------- -# ============LICENSE_START======================================================= -# Copyright (C) 2016-2018 Ericsson. 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -#------------------------------------------------------------------------------- - -# -# This script is called before package software is installed -# - -echo "********************preinst*******************" -echo "arguments $*" -echo "**********************************************" - -# Check if Apex is running -running_check=`ps -ef | egrep "org.onap.policy.apex.service.engine.main.ApexMain" | egrep -v grep` -if [ ! -z "$running_check" -a "$running_check" != "" ] -then - echo "Apex processes are running, stop Apex prior to package upgrade" - exit 1 -fi - -if ! getent group "apexuser" >/dev/null 2>&1 -then - echo "creating group apexuser . . ." - groupadd apexuser -fi - -if ! getent passwd "apexuser" >/dev/null 2>&1 -then - echo "creating user apexuser . . ." - useradd -g apexuser apexuser -fi - -# Create the Apex user home directory -mkdir -p /home/apexuser -chown -R apexuser:apexuser /home/apexuser diff --git a/packages/apex-pdp-package-full/src/main/package/control/prerm b/packages/apex-pdp-package-full/src/main/package/control/prerm deleted file mode 100644 index 3729af6a2..000000000 --- a/packages/apex-pdp-package-full/src/main/package/control/prerm +++ /dev/null @@ -1,38 +0,0 @@ -#! /bin/sh - -#------------------------------------------------------------------------------- -# ============LICENSE_START======================================================= -# Copyright (C) 2016-2018 Ericsson. 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. -# -# SPDX-License-Identifier: Apache-2.0 -# ============LICENSE_END========================================================= -#------------------------------------------------------------------------------- - -# -# This script is called before package software is removed -# - -echo "**********************prerm********************" -echo "arguments $*" -echo "***********************************************" - - -# Check if Apex is running -running_check=`ps -ef | egrep "org.onap.policy.apex.service.engine.main.ApexMain" | egrep -v grep` -if [ ! -z "$running_check" -a "$running_check" != "" ] -then - echo "Apex processes are running, stop Apex prior to package removal" - exit 1 -fi |