2024-08-02 13:43:58 +05:30
ARG BUILDER_CACHE_TARGET = 193044292705 .dkr.ecr.ap-south-1.amazonaws.com/common/spring-boot-maven:1.0
2024-04-05 12:28:32 +05:30
2024-08-02 13:43:58 +05:30
FROM 193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/golang:1.21.1 as golang_builder
2024-04-05 12:28:32 +05:30
WORKDIR /app
COPY ./kutegen/go.mod ./kutegen/go.sum ./
RUN go mod download
COPY ./kutegen ./
2024-04-05 13:53:36 +05:30
RUN CGO_ENABLED = 0 go build -o kutegen cmd/main.go
2024-04-05 12:28:32 +05:30
2020-10-07 21:59:06 +05:30
FROM ${BUILDER_CACHE_TARGET} as builder
2020-05-20 02:52:21 +05:30
ARG ARTIFACT_VERSION = 0 .0.1-SNAPSHOT
2020-10-07 21:59:06 +05:30
RUN rm -rf /build && mkdir -p /build
2020-05-20 02:52:21 +05:30
WORKDIR /build
2020-07-07 12:58:59 +05:30
COPY src /build/src
2020-10-07 22:03:48 +05:30
COPY pom.xml /build
2020-07-22 13:38:17 +05:30
COPY entrypoint.sh /build/entrypoint.sh
2023-10-27 13:03:46 +05:30
RUN wget -O elastic-apm.jar https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.42.0/elastic-apm-agent-1.42.0.jar
2020-10-29 15:37:44 +05:30
RUN mvn -Dhttps.protocols= TLSv1.2 -B dependency:resolve dependency:resolve-plugins
2020-05-20 02:52:21 +05:30
RUN mvn clean verify -DskipTests -Dartifact.version= ${ ARTIFACT_VERSION }
2024-08-02 13:43:58 +05:30
FROM 193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/secure-navi-openjdk:11.0.5-jre-slim-20231026-root
2020-05-20 02:52:21 +05:30
ARG ARTIFACT_VERSION = 0 .0.1-SNAPSHOT
RUN mkdir -p /usr/local
WORKDIR /usr/local/
2023-10-27 13:03:46 +05:30
COPY --from= builder /build/elastic-apm.jar /usr/local/elastic-apm.jar
COPY --from= builder /build/src/main/resources/elasticapm.properties /usr/local/elasticapm.properties
2020-05-20 02:52:21 +05:30
COPY --from= builder /build/target/deployment-portal-backend-${ ARTIFACT_VERSION } .jar /usr/local/deployment-portal-backend.jar
2020-07-22 13:38:17 +05:30
COPY --from= builder /build/entrypoint.sh /usr/local/entrypoint.sh
2024-04-05 12:28:32 +05:30
COPY --from= golang_builder /app/kutegen /usr/local/bin/kutegen
2020-05-20 02:52:21 +05:30
RUN apt-get update && \
apt-get install telnet curl dnsutils kafkacat -y && \
adduser --system --uid 4000 --disabled-password non-root-user && \
chown -R 4000:4000 /usr/local && chmod -R g+w /usr/local
2020-07-21 16:21:44 +05:30
2023-11-17 12:54:28 +05:30
ENV KUBECTL_VERSION = 1 .24.17
2020-07-21 16:21:44 +05:30
ADD https://storage.googleapis.com/kubernetes-release/release/v${ KUBECTL_VERSION } /bin/linux/amd64/kubectl /usr/local/bin/kubectl
RUN chmod +x /usr/local/bin/kubectl && mkdir -p /home/non-root-user/.kube/
RUN chown -R non-root-user /home/non-root-user/.kube
2023-11-17 17:01:28 +05:30
ENV AWS_AUTHENTICATOR = 0 .6.11
2023-11-17 17:39:52 +05:30
RUN curl -LO https://github.com/kubernetes-sigs/aws-iam-authenticator/releases/download/v${ AWS_AUTHENTICATOR } /aws-iam-authenticator_${ AWS_AUTHENTICATOR } _linux_amd64 && \
2023-11-17 17:01:28 +05:30
mv aws-iam-authenticator_${ AWS_AUTHENTICATOR } _linux_amd64 /usr/local/bin/aws-iam-authenticator && chmod +x /usr/local/bin/aws-iam-authenticator
2024-08-02 13:42:38 +05:30
ENV OCI_VERSION = 3 .44.3
RUN curl -L -o oci-cli-3.44.3.zip https://github.com/oracle/oci-cli/releases/download/v${ OCI_VERSION } /oci-cli-${ OCI_VERSION } .zip \
&& unzip oci-cli-${ OCI_VERSION } .zip \
&& cd oci-cli \
&& pip install oci_cli-${ OCI_VERSION } -py3-none-any.whl \
&& cp /home/go/.local/bin/oci /usr/local/bin/oci \
&& rm -rf oci-cli-${ OCI_VERSION } .zip
2022-10-19 16:34:53 +05:30
RUN curl -LO https://github.com/argoproj/argo-rollouts/releases/download/v1.2.2/kubectl-argo-rollouts-linux-amd64
2022-05-20 09:32:44 +05:30
RUN chmod +x ./kubectl-argo-rollouts-linux-amd64 && cp ./kubectl-argo-rollouts-linux-amd64 /usr/local/bin/kubectl-argo-rollouts
2020-07-22 13:38:17 +05:30
ENTRYPOINT [ "/usr/local/entrypoint.sh" ]
2020-07-21 16:21:44 +05:30
2020-05-20 02:52:21 +05:30
USER 4000
2023-11-17 12:54:28 +05:30
CMD [ "sh" , "-c" , "java ${JVM_OPTS} -jar /usr/local/deployment-portal-backend.jar" ]