-
Notifications
You must be signed in to change notification settings - Fork 46
Add Env Dev management tool #118
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
bbotella
wants to merge
18
commits into
apache:trunk
Choose a base branch
from
bbotella:dev-env-manager
base: trunk
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
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 <[email protected]>
- 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
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.