aboutsummaryrefslogtreecommitdiffstats
path: root/policy-jre/alpine
diff options
context:
space:
mode:
Diffstat (limited to 'policy-jre/alpine')
-rw-r--r--policy-jre/alpine/pom.xml96
-rw-r--r--policy-jre/alpine/src/main/docker/Dockerfile64
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