blob: dfcd837d3ad59341778fd8ac7112d2b47d010018 [file] [log] [blame]
elinuxhenrik02cb6012022-04-04 13:07:36 +02001#
2# ============LICENSE_START=======================================================
BjornMagnussonXAf7c3ae72023-03-09 10:16:12 +01003# Copyright (C) 2019-2023 Nordix Foundation.
elinuxhenrik02cb6012022-04-04 13:07:36 +02004# ================================================================================
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-License-Identifier: Apache-2.0
18# ============LICENSE_END=========================================================
19#
BjornMagnussonXAf7c3ae72023-03-09 10:16:12 +010020FROM openjdk:17-jdk as jre-build
21
22RUN $JAVA_HOME/bin/jlink \
23--verbose \
24--add-modules ALL-MODULE-PATH \
25--strip-debug \
26--no-man-pages \
27--no-header-files \
28--compress=2 \
29--output /customjre
30
31# Use debian base image (same as openjdk uses)
32FROM debian:11-slim
33
34ENV JAVA_HOME=/jre
35ENV PATH="${JAVA_HOME}/bin:${PATH}"
36
nitincg786936b2023-06-16 22:14:31 +053037# Copy JRE from the base image
BjornMagnussonXAf7c3ae72023-03-09 10:16:12 +010038COPY --from=jre-build /customjre $JAVA_HOME
elinuxhenrik02cb6012022-04-04 13:07:36 +020039
40ARG JAR
41
42EXPOSE 8081 8433
43
44
45WORKDIR /opt/app/policy-agent
46RUN mkdir -p /var/log/policy-agent
47RUN mkdir -p /opt/app/policy-agent/etc/cert/
48EXPOSE 8081 8433
49
50ADD /config/application.yaml /opt/app/policy-agent/config/application.yaml
51ADD /config/application_configuration.json /opt/app/policy-agent/data/application_configuration.json_example
52ADD /config/keystore.jks /opt/app/policy-agent/etc/cert/keystore.jks
53ADD /config/truststore.jks /opt/app/policy-agent/etc/cert/truststore.jks
54
55ARG user=nonrtric
56ARG group=nonrtric
57
58RUN groupadd $user && \
59 useradd -r -g $group $user
60RUN chown -R $user:$group /opt/app/policy-agent
61RUN chown -R $user:$group /var/log/policy-agent
62
63USER ${user}
64
65ADD target/${JAR} /opt/app/policy-agent/policy-agent.jar
BjornMagnussonXAf7c3ae72023-03-09 10:16:12 +010066CMD ["/jre/bin/java", "-jar", "/opt/app/policy-agent/policy-agent.jar"]