Open
Conversation
A comprehensive Apache Cassandra development environment management tool using Docker Compose, built from the latest source code, a specific branch, commit or PR. The environment supports multi-node clusters, Cassandra Sidecar integration, and complete lifecycle management.
…ecture This commit completes the transition to a unified container architecture where both Cassandra and Sidecar run in the same container, with password authentication enabled by default. Key changes: - Configure PasswordAuthenticator instead of AllowAllAuthenticator - Set default credentials to cassandra/cassandra for both CQL and JMX - Update Sidecar driver configuration to use authentication - Add authentication initialization for seed nodes only - Update connection examples throughout documentation - Remove separate sidecar-entrypoint.sh (now integrated into cassandra-entrypoint.sh) - Update Go build script to use credentials in connection instructions - Fix nodetool commands to use JMX authentication The system now provides a secure development environment with consistent authentication across all components while maintaining ease of use. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add go.mod and go.sum for proper Go module management - Update .gitignore to exclude SSL certificates (*.pem, *.p12, *.jks) - Remove SSL certificate files from tracking - Update Go configuration for hostname resolution and SSL setup
- Replace github.com/bbotellacorbi/cassandra-env-manager imports with cassandra-dev-env - Fix Go module compatibility for local development and cloning - Enable successful builds with make build command
- Remove Dockerfile from gitignore as it's part of project infrastructure - Dockerfile should be versioned for reproducible builds - Keep Dockerfile.sidecar ignored as it's autogenerated
- Replace nodetool-based cluster status checks with CQL queries - Use system.peers table to verify actual cluster membership - Eliminate authentication dependency that caused race conditions - Add Docker network hostnames to SSL certificate SAN for multi-node support - Fix extra_hosts mapping to only apply to single-node clusters - Maintain localhost SSL validation while enabling proper inter-node communication This resolves the "2/3 nodes ready" false negative and enables reliable multi-node cluster formation with SSL certificate validation.
- Add JVM module access flags to Sidecar startup for Java 11+ compatibility Required --add-exports and --add-opens flags enable access to JDK internal packages needed by Cassandra internal classes (FileUtils, Directories, etc.) Resolves IllegalAccessException errors in CDC consumer initialization - Create required CDC directories during container startup Ensures /var/lib/cassandra/cdc_raw and related directories exist before Cassandra starts, preventing cross-device link errors - Add .dockerignore to exclude data directories from Docker builds Prevents persisted cluster metadata from being copied into images, avoiding cluster name mismatch errors on rebuild - Improve local repository copy with rsync exclusions Excludes build artifacts (dtest-jars, .gradle, build/) when copying local Cassandra/Sidecar repositories, ensuring clean builds
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A comprehensive Apache Cassandra development environment management tool using Docker Compose, built from the latest source code, a specific branch, commit or PR. The environment supports multi-node clusters, Cassandra Sidecar integration, and complete lifecycle management.
I used Claude Code to implement the tool.