ceph-csi/redhat/Containerfile
Niels de Vos e5fe366621 doc: add OWNERS and redhat/ directory
These OWNERS files are needed for the openshift-ci bot to allow members
of the Ceph-CSI team to approve PRs and merge them automatically.

The redhat/ directory contains a README.md with details about the
downstream procedures. A Container file has been added as well, which
will allow running builds on the OpenShift CI for the PRs that are
created.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2021-08-12 10:59:05 +02:00

44 lines
1.4 KiB
Docker

# This Containerfile is used by openshift-ci to build the image, and push it to
# quay.io/ocs-dev/ceph-csi
#
# This image is based on the latest stable Ceph version, which uses CentOS.
#
# Note that other tests run on the latest Fedora release. That makes the binary
# that gets build not necessary compatible with the Ceph version on other
# distributions. Hence the need to rebuild the executable on the OS that will
# be used as deployment image.
#
# Ideally we use a base container that is very closely like the Red Hat Ceph
# Storage (RHCS) product. Unfortunately those container images are not publicly
# available, so we will use the latest Ceph version that is available. If we
# settle on a particular Ceph version, we might be missing out on backports
# that the RHCS product contains (and compiling might fail).
FROM docker.io/ceph/daemon-base:latest AS builder
ENV GOPATH=/go
# install dependencies
RUN dnf -y install \
git \
golang \
make \
librados-devel \
librbd-devel \
&& dnf -y update \
&& dnf clean all \
&& true
# compile and link the executable
COPY . /go/src/github.com/ceph/ceph-csi
RUN cd /go/src/github.com/ceph/ceph-csi && make
# final container to use in deployments
FROM docker.io/ceph/daemon-base:latest
COPY --from=builder /go/src/github.com/ceph/ceph-csi/_output/cephcsi /usr/local/bin/cephcsi
RUN chmod +x /usr/local/bin/cephcsi
ENTRYPOINT ["/usr/local/bin/cephcsi"]