FROM openshift/golang-builder:1.12 AS builder
ENV SOURCE_GIT_COMMIT=50b14bf4705450bac99cc70730865c405be30567 SOURCE_GIT_TAG=50b14bf SOURCE_GIT_URL=https://github.com/openshift/ocp-release-operator-sdk SOURCE_DATE_EPOCH=1578423724 BUILD_VERSION=v4.2.19 BUILD_RELEASE=202002101212

ENV GO111MODULE=on \
    GOFLAGS=-mod=vendor

COPY . /go/src/github.com/operator-framework/operator-sdk
RUN cd /go/src/github.com/operator-framework/operator-sdk \
 && make build/operator-sdk-dev VERSION=dev

FROM openshift/apb-base:v4.2.19.20200210.121232
ENV SOURCE_GIT_COMMIT=50b14bf4705450bac99cc70730865c405be30567 SOURCE_GIT_TAG=50b14bf SOURCE_GIT_URL=https://github.com/openshift/ocp-release-operator-sdk SOURCE_DATE_EPOCH=1578423724 BUILD_VERSION=v4.2.19 BUILD_RELEASE=202002101212

RUN yum install -y \
      ansible \
      ansible-runner \
      ansible-runner-http \
      python-kubernetes \
      python-openshift \
      python-jmespath \
      tini \
      inotify-tools \
 && yum clean all \
 && rm -rf /var/cache/yum

RUN mkdir -p /etc/ansible \
    && echo "localhost ansible_connection=local" > /etc/ansible/hosts \
    && echo '[defaults]' > /etc/ansible/ansible.cfg \
    && echo 'roles_path = /opt/ansible/roles' >> /etc/ansible/ansible.cfg \
    && echo 'library = /usr/share/ansible/openshift' >> /etc/ansible/ansible.cfg

ENV OPERATOR=/usr/local/bin/ansible-operator \
    USER_UID=1001 \
    USER_NAME=ansible-operator\
    HOME=/opt/ansible

COPY --from=builder /go/src/github.com/operator-framework/operator-sdk/build/operator-sdk-dev ${OPERATOR}
COPY bin /usr/local/bin
COPY library/k8s_status.py /usr/share/ansible/openshift/

RUN /usr/local/bin/user_setup

# Ensure directory permissions are properly set
RUN mkdir -p ${HOME}/.ansible/tmp \
 && chown -R ${USER_UID}:0 ${HOME} \
 && chmod -R ug+rwx ${HOME}

ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/entrypoint"]

USER ${USER_UID}

LABEL \
        name="openshift/ose-ansible-operator" \
        com.redhat.component="openshift-enterprise-ansible-operator-container" \
        version="v4.2.19" \
        release="202002101212" \
        io.openshift.build.commit.id="50b14bf4705450bac99cc70730865c405be30567" \
        io.openshift.build.source-location="https://github.com/openshift/ocp-release-operator-sdk" \
        io.openshift.build.commit.url="https://github.com/openshift/ocp-release-operator-sdk/commit/50b14bf4705450bac99cc70730865c405be30567"

