FROM registry.redhat.io/ubi9/go-toolset:1.24 AS builder

# Start Konflux-specific steps
ENV ART_BUILD_ENGINE=konflux
ENV ART_BUILD_DEPS_METHOD=cachi2
ENV ART_BUILD_NETWORK=hermetic
RUN go clean -cache || true
ENV ART_BUILD_DEPS_MODE=default
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.gc9779e5.assembly.stream.el9 BUILD_VERSION=8.1.1 OS_GIT_MAJOR=8 OS_GIT_MINOR=1 OS_GIT_PATCH=1 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=8.1.1-202604201807.p2.gc9779e5.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-analyzer-rpc __doozer_uuid_tag=mta-analyzer-rpc-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=c9779e5 OS_GIT_VERSION=8.1.1-202604201807.p2.gc9779e5.assembly.stream.el9-c9779e5 SOURCE_DATE_EPOCH=1769633888 SOURCE_GIT_COMMIT=c9779e5d1c035dd7ac0a58dcf008b6766f8356c4 SOURCE_GIT_TAG=v0.8.1-alpha.2-26-gc9779e5 SOURCE_GIT_URL=https://github.com/migtools/mta-kai 
COPY --chown=1001:0 . /workspace

# kai_analyzer_rpc does not have a Dockerfile upstream, downstream uses this container as a builder only
# Build in 3 platforms
WORKDIR /workspace/kai_analyzer_rpc
ENV GOFLAGS=-buildvcs=false
RUN GOOS=linux go build -o mta-analyzer-rpc
RUN GOOS=darwin go build -o darwin-mta-analyzer-rpc
RUN GOOS=windows go build -o windows-mta-analyzer-rpc

FROM registry.redhat.io/ubi9/ubi:latest

# Start Konflux-specific steps
ENV ART_BUILD_ENGINE=konflux
ENV ART_BUILD_DEPS_METHOD=cachi2
ENV ART_BUILD_NETWORK=hermetic
RUN go clean -cache || true
ENV ART_BUILD_DEPS_MODE=default
# End Konflux-specific steps
ENV __doozer=update BUILD_RELEASE=202604201807.p2.gc9779e5.assembly.stream.el9 BUILD_VERSION=8.1.1 OS_GIT_MAJOR=8 OS_GIT_MINOR=1 OS_GIT_PATCH=1 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=8.1.1-202604201807.p2.gc9779e5.assembly.stream.el9 SOURCE_GIT_TREE_STATE=clean __doozer_group=mta-8.1 __doozer_key=mta-analyzer-rpc __doozer_uuid_tag=mta-analyzer-rpc-rhel9-8.1.1-20260420.180740 __doozer_version=8.1.1 
ENV __doozer=merge OS_GIT_COMMIT=c9779e5 OS_GIT_VERSION=8.1.1-202604201807.p2.gc9779e5.assembly.stream.el9-c9779e5 SOURCE_DATE_EPOCH=1769633888 SOURCE_GIT_COMMIT=c9779e5d1c035dd7ac0a58dcf008b6766f8356c4 SOURCE_GIT_TAG=v0.8.1-alpha.2-26-gc9779e5 SOURCE_GIT_URL=https://github.com/migtools/mta-kai 

COPY --from=builder /workspace/kai_analyzer_rpc/mta-analyzer-rpc /usr/local/bin
COPY --from=builder /workspace/kai_analyzer_rpc/darwin-mta-analyzer-rpc /usr/local/bin
COPY --from=builder /workspace/kai_analyzer_rpc/windows-mta-analyzer-rpc /usr/local/bin
COPY --from=builder /workspace/LICENSE /licenses/

USER 1001

ENTRYPOINT ["/usr/local/bin/mta-analyzer-rpc"]

LABEL \
        description="Migration Toolkit for Applications - Analyzer RPC" \
        io.k8s.description="Migration Toolkit for Applications - Analyzer RPC" \
        io.k8s.display-name="MTA - Analyzer RPC" \
        io.openshift.maintainer.project="MTA" \
        io.openshift.tags="migration,modernization,mta,tackle,konveyor" \
        summary="Migration Toolkit for Applications - Analyzer RPC" \
        name="mta/mta-analyzer-rpc-rhel9" \
        vendor="Red Hat, Inc." \
        cpe="cpe:/a:redhat:migration_toolkit_applications:8.1::el9" \
        com.redhat.component="mta-analyzer-rpc-container" \
        io.openshift.maintainer.component="Kai" \
        version="8.1.1" \
        release="202604201807.p2.gc9779e5.assembly.stream.el9" \
        io.openshift.build.commit.id="c9779e5d1c035dd7ac0a58dcf008b6766f8356c4" \
        io.openshift.build.source-location="https://github.com/migtools/mta-kai" \
        io.openshift.build.commit.url="https://github.com/migtools/mta-kai/commit/c9779e5d1c035dd7ac0a58dcf008b6766f8356c4"

