1. Images & Charts
  2. cassandra-fips
cassandra-fips

cassandra-fips

Data
Fips
Stig
Updated 12 hours ago

Cassandra-FIPS Overview

Secure your stack with a FIPS-validated, hardened Cassandra image freshly-built by Minimus. Minimus images always include the most up-to-date package version for all packages and dependencies contained in the image.


Use Apache Cassandra to set up a highly scalable, distributed NoSQL database in a containerized environment. Cassandra supports clusters across multiple datacenters with asynchronous masterless replication and provides high availability and low latency with no single point of failure. Use this image when you need to meet the requirements for FIPS-validated cryptographic protection.


FIPS 140-3 Certification

This image is FIPS-validated to ensure its cryptographic operations meet the Federal Information Processing Standards (FIPS) required for secure government and regulated environments. Its core cryptographic modules are validated under the NIST Cryptographic Module Validation Program (CMVP) and comply with the FIPS 140-3 standard.

To verify that the FIPS 140-3 provider is configured and active, follow the instructions in the FIPS compliance tab.


Try It Out

To take the Minimus Cassandra image for a test run, you can either run a cluster of two Cassandra nodes on a single host or on two separate machines. This guide shows both options.

Run a cluster of Cassandra nodes on a single host

Before we start, we need to create a dedicated Docker network so the containers in the cluster will be able to communicate easily and securely by name:

docker network create minimus-network

Start the first Cassandra server instance:

docker run -d --rm --name minimus-cassandra \
--network minimus-network \
-e MAX_HEAP_SIZE=512M -e HEAP_NEWSIZE=200M \
reg.mini.dev/cassandra-fips

We recommend adding the flags to control the JVM (Java Virtual Machine) memory settings. Without them, it's common to run into OOM errors for exceeding Docker container memory limits.

Check the internal IP address of the container:

docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' minimus-cassandra

Next, run the second node on the same host machine, "seeding" it from the original server and adding it to the cluster. Use the environment variable CASSANDRA_SEEDS and reference the server by its internal IP address:

docker run -d --name minimus-cassandra-2 \
--network minimus-network \
-e CASSANDRA_SEEDS={IP of the first node} \
reg.mini.dev/cassandra-fips

Check the logs of the first node for a message that the nodes are connected:

docker logs -f minimus-cassandra 2>&1 | grep  "is now part of the cluster"

For example:

INFO  [GossipStage:1] 2026-04-19T07:34:30,155 Gossiper.java:1529 - Node /172.19.0.3:7000 is now part of the cluster

Run a cluster of Cassandra nodes on different hosts

Start the first Cassandra server instance and expose its gossip IP and port:

docker run --rm -d --name minimus-cassandra \
-e CASSANDRA_BROADCAST_ADDRESS={external IP} -p 7000:7000 \
reg.mini.dev/cassandra-fips

Next, run the second node, expose its gossip IP and port, and seed it from the original server, referring to the original server by its IP:

docker run --rm -d --name minimus-cassandra \
-e CASSANDRA_BROADCAST_ADDRESS={external IP} -p 7000:7000 \
-e CASSANDRA_SEEDS={IP of the first instance} \
reg.mini.dev/cassandra-fips

Spin up a lightweight cqlsh client to connect to a running Cassandra container via Docker

The Cassandra image is equipped with cqlsh, Cassandra Query Language Shell, a command-line tool. For example, we can connect to the running Cassandra container from the first test:

docker run -it --rm --network minimus-network \
reg.mini.dev/cassandra-fips cqlsh minimus-cassandra

You should see something like this:

Connected to Test Cluster at minimus-cassandra:9042
[cqlsh 6.2.0 | Cassandra 5.0.4 | CQL spec 3.4.7 | Native protocol v5]
Use HELP for help.
cqlsh> 

Enter the command:

DESCRIBE KEYSPACES;

The output will print the keyspaces in your Cassandra cluster, for example:

system       system_distributed  system_traces  system_virtual_schema
system_auth  system_schema       system_views 

Ready to mount a persistent data volume?

Mount a data directory on the host system to the default data directory in the container to persist the data. Navigate to the relevant directory on the host and run the following command:

docker run -d --name minimus-cassandra-data \
-v $(pwd)/datadir:/var/lib/cassandra \
reg.mini.dev/cassandra-fips

Note that testing with Docker Compose is not recommended as the server will not accept incoming connections until it has completed initialization, which may lead to issues.


Technical Considerations

The Cassandra-FIPS image provided by Minimus is a FIPS-validated, slim, security-hardened alternative to the public image.

Cassandra-FIPS built by Minimus:

  1. The image does not have a default volume. The public image defaults to /var/lib/cassandra.
  2. Drill down on the version specification tab to see the default user, listening ports, entrypoint, volumes, environment variables, etc.

The Payoff

A hardened, minimal image that will remain more secure for the long run and accrue vulnerabilities at a slower rate.


Terms & Info

Trademark

This catalog is published by Minimus. All product names, logos, and marks, other than those belonging to Minimus, shown are owned by their respective rights holders and appear here only to identify the open source software each image contains. Minimus claims no ownership of those marks and implies no affiliation with, endorsement by, certification by, or sponsorship by any rights holder.

Disclaimer

Images are provided "as-is" without warranty of any kind. "Hardened" refers to the security configuration applied at the time of build and does not constitute a guarantee of ongoing security or absence of vulnerabilities. The free tier is provided without support, SLA, or guaranteed patching timelines. Security updates may be applied to paid subscriptions before or instead of free tier images. By pulling or using any image you agree to our Terms of Use.