FROM registry.svc.ci.openshift.org/openshift/release:golang-1.12

ENV MINIO_RELEASE_TAG RELEASE.2019-04-09T01-22-30Z
ENV MINIO_UID_GID 5001

ENV GOPATH /go
ENV CGO_ENABLED 0
ENV GO111MODULE on
WORKDIR /go
COPY minio/ minio
RUN  \
     cd minio && \
     go version && make build && ls -al . dockerscripts


FROM registry.access.redhat.com/ubi7/ubi-minimal

ARG ARCH
ARG VCS_REF
ARG VCS_URL
ARG IMAGE_NAME
ARG IMAGE_DESCRIPTION
ENV MINIO_RELEASE_TAG RELEASE.2019-04-09T01-22-30Z
ENV MINIO_UID_GID 5001

LABEL architecture=$ARCH \
      name=$IMAGE_NAME \
      description=$IMAGE_DESCRIPTION \
      release=$VCS_REF \
      summary=$IMAGE_DESCRIPTION \
      version=$MINIO_RELEASE_TAG \
      vendor="IBM" \
      org.label-schema.architecture=$ARCH \
      org.label-schema.name=$IMAGE_NAME \
      org.label-schema.description=$IMAGE_DESCRIPTION \
      org.label-schema.vendor="IBM" \
      org.label-schema.vcs-ref=$VCS_REF \
      org.label-schema.vcs-url=$VCS_URL \
      org.label-schema.license="Licensed Materials - Property of IBM" \
      org.label-schema.schema-version="1.0"


ENV MINIO_UPDATE off
ENV MINIO_ACCESS_KEY_FILE=access_key \
    MINIO_SECRET_KEY_FILE=secret_key

EXPOSE 9000

COPY --from=0 /go/minio/dockerscripts/healthcheck /usr/bin/healthcheck
COPY --from=0 /go/minio/minio /usr/bin/minio

COPY --from=0 /go/minio/dockerscripts/docker-entrypoint.sh /usr/bin/

RUN  \
     mkdir -p /licenses && \
     microdnf -y update --nodocs && \
     microdnf -y install ca-certificates nmap-ncat shadow-utils --nodocs && \
     echo 'hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4' >> /etc/nsswitch.conf && \
     microdnf -y clean all

COPY License.txt /licenses

RUN groupadd -r -g $MINIO_UID_GID  minio && useradd -r -g minio -u  $MINIO_UID_GID minio
USER minio

ENTRYPOINT ["/usr/bin/docker-entrypoint.sh"]

VOLUME ["/data"]

HEALTHCHECK --interval=1m CMD healthcheck

CMD ["minio"]
