diff options
Diffstat (limited to 'policy-jre/alpine')
-rw-r--r-- | policy-jre/alpine/pom.xml | 96 | ||||
-rw-r--r-- | policy-jre/alpine/src/main/docker/Dockerfile | 64 |
2 files changed, 45 insertions, 115 deletions
diff --git a/policy-jre/alpine/pom.xml b/policy-jre/alpine/pom.xml index 21305758..1a1574bc 100644 --- a/policy-jre/alpine/pom.xml +++ b/policy-jre/alpine/pom.xml @@ -2,7 +2,7 @@ ============LICENSE_START======================================================= Copyright (C) 2019 Ericsson, Tieto. All rights reserved. Modifications Copyright (C) 2020 AT&T Intellectual Property. All rights reserved. - Modifications Copyright (C) 2022 Nordix Foundation. + Modifications Copyright (C) 2022-2023 Nordix Foundation. ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -37,95 +37,8 @@ <properties> <docker.jre.imagename>onap/policy-jre-alpine</docker.jre.imagename> - <integration.java.name>onap/integration-java11</integration.java.name> - <integration.java.version>9.0.0</integration.java.version> </properties> - <profiles> - <profile> - <!-- This profile is activated on Apple M1 architecture to generate the ONAP base images locally --> - <id>baseImage</id> - <activation> - <os> - <arch>aarch64</arch> - </os> - </activation> - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-scm-plugin</artifactId> - <version>1.13.0</version> - <dependencies> - <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-utils</artifactId> - <version>3.4.2</version> - </dependency> - <dependency> - <groupId>org.apache.maven.scm</groupId> - <artifactId>maven-scm-provider-gitexe</artifactId> - <version>1.13.0</version> - </dependency> - </dependencies> - <configuration> - <connectionType>connection</connectionType> - <checkoutDirectory>src/main/resources/meta</checkoutDirectory> - </configuration> - <executions> - <execution> - <id>checkout-onap-python</id> - <phase>validate</phase> - <configuration> - <connectionUrl>scm:git:https://gerrit.onap.org/r/integration/docker/onap-java11</connectionUrl> - <checkoutDirectory>${project.build.directory}/onap-java11</checkoutDirectory> - </configuration> - <goals> - <goal>checkout</goal> - </goals> - </execution> - </executions> - </plugin> - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - - <executions> - <execution> - <id>generate-base-image</id> - <phase>initialize</phase> - <configuration> - <verbose>true</verbose> - <apiVersion>1.23</apiVersion> - <pullRegistry>${docker.pull.registry}</pullRegistry> - <pushRegistry>${docker.push.registry}</pushRegistry> - <images> - <image> - <name>${integration.java.name}</name> - <build> - <cleanup>try</cleanup> - <contextDir>${project.build.directory}/onap-java11</contextDir> - <dockerFile>BareAlpine.Dockerfile</dockerFile> - <tags> - <tag>${integration.java.version}</tag> - <tag>${integration.java.version}-${maven.build.timestamp}</tag> - <tag>${project.docker.latest.minmax.tag.version}</tag> - </tags> - </build> - </image> - </images> - </configuration> - <goals> - <goal>build</goal> - </goals> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - <build> <finalName>${project.artifactId}-${project.version}</finalName> <plugins> @@ -169,10 +82,6 @@ <tag>${project.version}-${maven.build.timestamp}</tag> <tag>${project.docker.latest.minmax.tag.version}</tag> </tags> - <args> - <INTEGRATION_JAVA_NAME>${integration.java.name}</INTEGRATION_JAVA_NAME> - <INTEGRATION_JAVA_VERSION>${integration.java.version}</INTEGRATION_JAVA_VERSION> - </args> </build> </image> </images> @@ -205,9 +114,6 @@ <goal>build</goal> <goal>push</goal> </goals> - <configuration> - <image>${docker.jre.imagename}</image> - </configuration> </execution> </executions> </plugin> diff --git a/policy-jre/alpine/src/main/docker/Dockerfile b/policy-jre/alpine/src/main/docker/Dockerfile index d4fed90c..f1bf2496 100644 --- a/policy-jre/alpine/src/main/docker/Dockerfile +++ b/policy-jre/alpine/src/main/docker/Dockerfile @@ -1,7 +1,7 @@ # ============LICENSE_START======================================================= # Copyright (C) 2019 Tieto. All rights reserved. # Modifications Copyright (C) 2020, 2021 AT&T Intellectual Property. All rights reserved. -# Modifications Copyright (C) 2020, 2022 Nordix Foundation. +# Modifications Copyright (C) 2020, 2022-2023 Nordix Foundation. # ================================================================================ # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -18,15 +18,7 @@ # SPDX-License-Identifier: Apache-2.0 # ============LICENSE_END========================================================= -# Docker file to build a base image for all policy components images -# -# $JAVA_HOME is set to /usr/lib/jvm/java-11-openjdk -# more details at https://hub.docker.com/_/openjdk - -ARG INTEGRATION_JAVA_NAME=${INTEGRATION_JAVA_NAME} -ARG INTEGRATION_JAVA_VERSION=${INTEGRATION_JAVA_VERSION} - -FROM ${INTEGRATION_JAVA_NAME}:${INTEGRATION_JAVA_VERSION} +FROM alpine:3.17 LABEL maintainer="Policy Team" LABEL org.opencontainers.image.title="Policy JRE Alpine" @@ -38,21 +30,53 @@ 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}" +ENV JAVA_HOME /usr/lib/jvm/default-jvm +ENV JAVA_OPTS="-Xms256m -Xmx1g" +ENV JAVA_SEC_OPTS="" ENV POLICY_HOME=/opt/app/policy +ENV PATH $JAVA_HOME/bin:$PATH -USER root +ARG user=onap +ARG group=onap -RUN apk update \ - && apk add --no-cache \ +# Default to UTF-8 file.encoding +ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en' LC_ALL='en_US.UTF-8' + +# Generic additions +RUN apk add --no-cache \ + libretls \ + musl-locales \ + musl-locales-lang \ + openjdk11-jre \ + openssl \ + ca-certificates && \ + rm -rf /var/cache/apk/* && \ +# ONAP additions + addgroup -S $group && \ + adduser -G $group -D $user && \ + mkdir /var/log/$user && \ + mkdir /app && \ + chown -R $user:$group /var/log/$user && \ + chown -R $user:$group /app && \ +# Policy Framework additions + apk update && \ + apk add --no-cache \ busybox-extras \ curl \ jq \ procps \ unzip \ - zip \ - && addgroup -S policy \ - && adduser -S --shell /bin/sh -G policy policy \ - && mkdir -p ${POLICY_HOME}/ \ - && chown policy:policy ${POLICY_HOME} \ - && mkdir -p /usr/lib/jvm/ \ - && ln -s /opt/java/openjdk /usr/lib/jvm/java-11-openjdk + zip && \ + rm -rf /var/cache/apk/* && \ + addgroup -S policy && \ + adduser -S --shell /bin/sh -G policy policy && \ + mkdir -p ${POLICY_HOME}/ && \ + chown policy:policy ${POLICY_HOME} && \ + mkdir -p /usr/lib/jvm/ && \ + ln -s /opt/java/openjdk /usr/lib/jvm/default-jvm + +# Tell docker that all future commands should be run as the onap user +USER $user +WORKDIR /app + +ENTRYPOINT exec java $JAVA_SEC_OPTS $JAVA_OPTS -jar /app/app.jar |