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 ++++++++ 3 files changed, 156 insertions(+) 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/apex-pdp-docker') 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 -- cgit 1.2.3-korg