Blob Blame History Raw
FROM registry.fedoraproject.org/f28/s2i-core:latest

# Cassandra image for Fedora.
#
# Volumes:
#  * /var/lib/cassandra/data - Datastore for Cassandra
# Environment:

ENV CASSANDRA_VERSION=3.11 \
    NAME=cassandra \
    VERSION=0 \
    RELEASE=2 \
    ARCH=x86_64 \
    SUMMARY="Cassandra is an OpenSource database for high-scale application" \
    DESCRIPTION="Cassandra is a partitioned row store. Rows are organized \
into tables with a required primary key. Partitioning means that Cassandra can \
distribute your data across multiple machines in an application-transparent \
matter. Cassandra will automatically re-partition as machines are \
added/removed from the cluster. Row store means that like relational \
databases, Cassandra organizes data by rows and columns. The Cassandra Query \
Language (CQL) is a close relative of SQL." \
    # Set paths to avoid hard-coding them in scripts.
    HOME=/var/lib/cassandra \
    CASSANDRA_CONF_DIR=/etc/cassandra/ \
    CONTAINER_SCRIPTS_BASE=/usr/share/container-scripts \
    CONTAINER_SCRIPTS_PATH=/usr/share/container-scripts/cassandra

LABEL summary="$SUMMARY" \
      description="$DESCRIPTION" \
      io.k8s.description="$SUMMARY" \
      io.k8s.display-name="Cassandra $CASSANDRA_VERSION" \
      io.openshift.expose-services="7199:cassandra,9042:cql" \
      io.openshift.tags="database,cassandra,cassandra3" \
      name="$FGC/$NAME" \
      version=0 \
      com.redhat.component="$NAME" \
      usage="docker run cassandra" \
      help="help.1" \
      maintainer="SoftwareCollections.org <sclorg@redhat.com>"

# 7000: intra-node communication
# 7001: TLS intra-node communication
# 7199: JMX
# 9042: CQL
EXPOSE 7000 7001 7199 9042

RUN INSTALL_PKGS="cassandra-server cassandra hostname" && \
    dnf install -y --setopt=tsflags=nodocs $INSTALL_PKGS && \
    rpm -V $INSTALL_PKGS && \
    dnf clean all

ADD root /

COPY ./s2i/bin/ $STI_SCRIPTS_PATH

RUN chown -R cassandra $HOME $CONTAINER_SCRIPTS_BASE&& \
    /usr/libexec/fix-permissions $HOME $CONTAINER_SCRIPTS_BASE $CASSANDRA_CONF_DIR /var/log/cassandra && \
    rpm-file-permissions

VOLUME ["$HOME"]

USER 143

ENTRYPOINT ["container-entrypoint"]
CMD ["run-cassandra"]