Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: moved dockerfile to allow release #4

Merged
merged 10 commits into from
Apr 4, 2024
Merged
2 changes: 1 addition & 1 deletion .github/workflows/anchore.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ permissions:
contents: read

env:
DOCKERFILE: src/main/docker/Dockerfile.multistage
DOCKERFILE: Dockerfile

jobs:
Anchore-Build-Scan:
Expand Down
9 changes: 9 additions & 0 deletions .github/workflows/release_deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,15 @@ jobs:
- if: ${{ (github.event.pull_request.merged && contains(github.event.pull_request.labels.*.name, 'major')) }}
run: echo "SEMVER=major" >> $GITHUB_ENV

- if: ${{ (github.event.pull_request.merged && contains(github.event.pull_request.labels.*.name, 'minor')) }}
run: echo "SEMVER=minor" >> $GITHUB_ENV

- if: ${{ (github.event.pull_request.merged && contains(github.event.pull_request.labels.*.name, 'patch')) }}
run: echo "SEMVER=patch" >> $GITHUB_ENV

- if: ${{ (github.event.pull_request.merged && contains(github.event.pull_request.labels.*.name, 'skip')) }}
run: echo "SEMVER=skip" >> $GITHUB_ENV

# force semver if dev, !=main or skip release
- if: ${{ inputs.version == 'new_release' }}
run: echo "SEMVER=minor" >> $GITHUB_ENV
Expand Down
63 changes: 63 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
## Stage 1 : build with maven builder image with native capabilities
FROM quay.io/quarkus/ubi-quarkus-graalvmce-builder-image:22.3-java17 AS build
COPY --chown=quarkus:quarkus mvnw /code/mvnw
COPY --chown=quarkus:quarkus .mvn /code/.mvn
COPY --chown=quarkus:quarkus pom.xml /code/
USER quarkus
WORKDIR /code
RUN ./mvnw -B org.apache.maven.plugins:maven-dependency-plugin:3.1.2:go-offline
COPY src /code/src
COPY agent /code/agent
ARG QUARKUS_PROFILE
ARG APP_NAME

USER root
RUN echo $(ls -1 /code/src)
RUN chmod 777 /code/agent/config.yaml
# install wget
RUN microdnf install -y wget
# install jmx agent
RUN cd /code && \
wget https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/0.19.0/jmx_prometheus_javaagent-0.19.0.jar && \
curl -o 'opentelemetry-javaagent.jar' -L 'https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.25.1/opentelemetry-javaagent.jar' && \
curl -o 'applicationinsights-agent.jar' -L 'https://github.com/microsoft/ApplicationInsights-Java/releases/download/3.4.17/applicationinsights-agent-3.4.17.jar'

# build the application
RUN ./mvnw package -DskipTests=true -Dquarkus.application.name=$APP_NAME -Dquarkus.profile=$QUARKUS_PROFILE

RUN mkdir -p /code/target/otel && \
chmod 777 /code/opentelemetry-javaagent.jar && \
cp /code/opentelemetry-javaagent.jar /code/target/otel/opentelemetry-javaagent.jar

RUN mkdir -p /code/target/appins && \
chmod 777 /code/applicationinsights-agent.jar && \
cp /code/applicationinsights-agent.jar /code/target/appins/applicationinsights-agent.jar

RUN mkdir -p /code/target/jmx && \
cp /code/agent/config.yaml /code/target/jmx/config.yaml

RUN chmod 777 /code/jmx_prometheus_javaagent-0.19.0.jar && \
cp /code/jmx_prometheus_javaagent-0.19.0.jar /code/target/jmx/jmx_prometheus_javaagent-0.19.0.jar

FROM registry.access.redhat.com/ubi8/openjdk-17:1.19

ENV LANGUAGE='en_US:en'

# We make four distinct layers so if there are application changes the library layers can be re-used
COPY --from=build /code/target/quarkus-app/lib/ /deployments/lib/
COPY --from=build /code/target/quarkus-app/*.jar /deployments/
COPY --from=build /code/target/quarkus-app/app/ /deployments/app/
COPY --from=build /code/target/quarkus-app/quarkus/ /deployments/quarkus/
COPY --from=build /code/target/jmx/ /deployments/
COPY --from=build /code/target/otel/ /deployments/
COPY --from=build /code/target/appins/ /deployments/

EXPOSE 8080
EXPOSE 12345
USER 185

ARG QUARKUS_PROFILE
ARG APP_NAME

ENV JAVA_OPTS="-Dquarkus.http.host=0.0.0.0 -Dquarkus.application.name=$APP_NAME -Dquarkus.profile=$QUARKUS_PROFILE -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
ENV JAVA_APP_JAR="/deployments/quarkus-run.jar"
2 changes: 2 additions & 0 deletions agent/config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
rules:
- pattern: ".*"
4 changes: 2 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ apiVersion: v2
name: gpd-payments-pull
description: Microservice pagopa-gpd-payments-pull
type: application
version: 0.1.0
appVersion: 1.0.0
version: 0.3.0
appVersion: 1.0.0-2-fix-move-dockerfile-to-allow-release
dependencies:
- name: microservice-chart
version: 2.8.0
Expand Down
3 changes: 2 additions & 1 deletion helm/values-dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: "gpd-payments-pull"
image:
repository: ghcr.io/pagopa/pagopa-gpd-payments-pull
tag: "1.0.0"
tag: "1.0.0-2-fix-move-dockerfile-to-allow-release"
pullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -78,6 +78,7 @@ microservice-chart:
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
OTEL_LOGS_EXPORTER: none
OTEL_TRACES_SAMPLER: "always_on"
JAVA_TOOL_OPTIONS: "-javaagent:/work/jmx_prometheus_javaagent-0.19.0.jar=12345:/work/config.yaml -javaagent:/work/opentelemetry-javaagent.jar -javaagent:/work/applicationinsights-agent.jar"
GPD_DB_URL: "vertx-reactive:postgresql://pagopa-d-gpd-postgresql.postgres.database.azure.com:5432/apd?sslmode=require&tcpKeepAlive=true"
envFieldRef:
envSecret:
Expand Down
3 changes: 2 additions & 1 deletion helm/values-prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: "gpd-payments-pull"
image:
repository: ghcr.io/pagopa/pagopa-gpd-payments-pull
tag: "1.0.0"
tag: "1.0.0-2-fix-move-dockerfile-to-allow-release"
pullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -78,6 +78,7 @@ microservice-chart:
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
OTEL_LOGS_EXPORTER: none
OTEL_TRACES_SAMPLER: "always_on"
JAVA_TOOL_OPTIONS: "-javaagent:/work/jmx_prometheus_javaagent-0.19.0.jar=12345:/work/config.yaml -javaagent:/work/opentelemetry-javaagent.jar -javaagent:/work/applicationinsights-agent.jar"
GPD_DB_URL: "vertx-reactive:postgresql://pagopa-p-gpd-postgresql.postgres.database.azure.com:5432/apd?sslmode=require&tcpKeepAlive=true"
envFieldRef:
envSecret:
Expand Down
3 changes: 2 additions & 1 deletion helm/values-uat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ microservice-chart:
fullnameOverride: "gpd-payments-pull"
image:
repository: ghcr.io/pagopa/pagopa-gpd-payments-pull
tag: "1.0.0"
tag: "1.0.0-2-fix-move-dockerfile-to-allow-release"
pullPolicy: Always
livenessProbe:
httpGet:
Expand Down Expand Up @@ -78,6 +78,7 @@ microservice-chart:
OTEL_EXPORTER_OTLP_ENDPOINT: "http://otel-collector.elastic-system.svc:4317"
OTEL_LOGS_EXPORTER: none
OTEL_TRACES_SAMPLER: "always_on"
JAVA_TOOL_OPTIONS: "-javaagent:/work/jmx_prometheus_javaagent-0.19.0.jar=12345:/work/config.yaml -javaagent:/work/opentelemetry-javaagent.jar -javaagent:/work/applicationinsights-agent.jar"
GPD_DB_URL: "vertx-reactive:postgresql://pagopa-u-gpd-postgresql.postgres.database.azure.com:5432/apd?sslmode=require&tcpKeepAlive=true"
envFieldRef:
envSecret:
Expand Down
2 changes: 1 addition & 1 deletion openapi/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"title": "GPD Payments Pull Services",
"description": "GPD Payments Pull Services",
"termsOfService": "https://www.pagopa.gov.it/",
"version": "1.0.0"
"version": "1.0.0-2-fix-move-dockerfile-to-allow-release"
},
"servers": [
{
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>it.gov.pagopa</groupId>
<artifactId>gpd-payments-pull</artifactId>
<version>1.0.0</version>
<version>1.0.0-2-fix-move-dockerfile-to-allow-release</version>

<properties>
<jacoco.version>0.8.7</jacoco.version>
Expand Down
Loading