From ef24b0561786040752bd46ade5859968d57ea031 Mon Sep 17 00:00:00 2001 From: mmis Date: Tue, 10 Jul 2018 10:50:05 +0100 Subject: Create docker image for apex-pdp Issue-ID: POLICY-866 Change-Id: I6bc322224e087acae1c92a67c48506f061a59d14 Signed-off-by: mmis --- packages/apex-pdp-docker/README.md | 3 + packages/apex-pdp-docker/pom.xml | 112 +++++++++++++++++++++ .../apex-pdp-docker/src/main/docker/Dockerfile | 41 ++++++++ .../src/main/package/scripts/apexApps.sh | 2 +- .../src/main/package/scripts/apexCLIEditor.sh | 2 +- .../src/main/package/scripts/apexEngine.sh | 2 +- .../src/main/package/scripts/apexRESTEditor.sh | 2 +- packages/pom.xml | 3 +- 8 files changed, 162 insertions(+), 5 deletions(-) create mode 100644 packages/apex-pdp-docker/README.md create mode 100644 packages/apex-pdp-docker/pom.xml create mode 100644 packages/apex-pdp-docker/src/main/docker/Dockerfile (limited to 'packages') diff --git a/packages/apex-pdp-docker/README.md b/packages/apex-pdp-docker/README.md new file mode 100644 index 000000000..9008e00e6 --- /dev/null +++ b/packages/apex-pdp-docker/README.md @@ -0,0 +1,3 @@ +To build the onap/policy-apex-pdp docker image: +1. Build the apex-pdp repository +2. Run: apex-pdp/docker-verify.sh or apex-pdp/docker-build.sh or apex-pdp/docker-merge.sh as required. diff --git a/packages/apex-pdp-docker/pom.xml b/packages/apex-pdp-docker/pom.xml new file mode 100644 index 000000000..314718243 --- /dev/null +++ b/packages/apex-pdp-docker/pom.xml @@ -0,0 +1,112 @@ + + + 4.0.0 + + org.onap.policy.apex-pdp.packages + packages + 2.0.0-SNAPSHOT + + + apex-pdp-docker + pom + Policy APEX PDP - Docker build + ONAP Policy APEX PDP Docker Build + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + copy-apex-tarball + prepare-package + + copy + + + ${project.build.directory}/policy-apex-pdp + false + true + + + org.onap.policy.apex-pdp.packages + apex-pdp-package-full + ${project.version} + tarball + tar.gz + apex-pdp-package-full.tar.gz + + + + + + + + maven-resources-plugin + 3.0.2 + + + copy-resources + prepare-package + + copy-resources + + + ${project.build.directory}/policy-apex-pdp + + + src/main/docker + + + + + + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + + get-target-version + prepare-package + + exec + + + + + echo + ${project.build.directory} + + ${project.version} + + ${project.build.directory}/version + + + + + + + diff --git a/packages/apex-pdp-docker/src/main/docker/Dockerfile b/packages/apex-pdp-docker/src/main/docker/Dockerfile new file mode 100644 index 000000000..c16469a84 --- /dev/null +++ b/packages/apex-pdp-docker/src/main/docker/Dockerfile @@ -0,0 +1,41 @@ +# +# Docker file to build an image that runs APEX on Java 8 in Ubuntu +# +FROM ubuntu:16.04 + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get install -y software-properties-common && \ + add-apt-repository ppa:openjdk-r/ppa -y && \ + apt-get update && \ + apt-get install -y openjdk-8-jdk + +# Create apex user and group +RUN groupadd apexuser +RUN useradd --create-home -g apexuser apexuser + +# Add Apex-specific directories and set ownership as the Apex admin user +RUN mkdir -p /opt/app/policy/apex-pdp +RUN mkdir -p /var/log/onap/policy/apex-pdp +RUN chown -R apexuser:apexuser /var/log/onap/policy/apex-pdp + +# Unpack the tarball +RUN mkdir /packages +COPY apex-pdp-package-full.tar.gz /packages +RUN tar xvfz /packages/apex-pdp-package-full.tar.gz --directory /opt/app/policy/apex-pdp +RUN rm /packages/apex-pdp-package-full.tar.gz + +# Ensure everything has the correct permissions +RUN find /opt/app -type d -perm 755 +RUN find /opt/app -type f -perm 644 +RUN chmod a+x /opt/app/policy/apex-pdp/bin/* + +# Copy examples to Apex user area +RUN cp -pr /opt/app/policy/apex-pdp/examples /home/apexuser + +ENV PATH /opt/app/policy/apex-pdp/bin:$PATH + +RUN apt-get clean + +RUN chown -R apexuser:apexuser /home/apexuser/* +WORKDIR /home/apexuser diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh index adcbfcbb1..c0397429b 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexApps.sh @@ -27,7 +27,7 @@ if [ -z $APEX_HOME ] then - APEX_HOME="/opt/onap/policy/apex-pdp" + APEX_HOME="/opt/app/policy/apex-pdp" fi if [ ! -d $APEX_HOME ] diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh index 28a26171b..387a4d9cc 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexCLIEditor.sh @@ -36,7 +36,7 @@ if [ -z $APEX_HOME ] then - APEX_HOME="/opt/onap/policy/apex-pdp" + APEX_HOME="/opt/app/policy/apex-pdp" fi if [ ! -d $APEX_HOME ] diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh index c07e38b51..0a251ab90 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexEngine.sh @@ -54,7 +54,7 @@ fi if [ -z $APEX_HOME ] then - APEX_HOME="/opt/onap/policy/apex-pdp" + APEX_HOME="/opt/app/policy/apex-pdp" fi if [ ! -d $APEX_HOME ] diff --git a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh index 3f2ae867b..cb3641f04 100755 --- a/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh +++ b/packages/apex-pdp-package-full/src/main/package/scripts/apexRESTEditor.sh @@ -37,7 +37,7 @@ if [ -z $APEX_HOME ] then - APEX_HOME="/opt/onap/policy/apex-pdp" + APEX_HOME="/opt/app/policy/apex-pdp" fi if [ ! -d $APEX_HOME ] diff --git a/packages/pom.xml b/packages/pom.xml index 509fc7adc..f77401edd 100644 --- a/packages/pom.xml +++ b/packages/pom.xml @@ -35,5 +35,6 @@ apex-pdp-package-full + apex-pdp-docker - \ No newline at end of file + -- cgit 1.2.3-korg