Cassandra Connect Support (#5952)

* Init cassandra

* Init cassandra

* Initial Cassandra Command Support For cqlsh

* Add Make Gen

* adding cassandra test

* Cleanup cassandra docker setup

* Adding container wait

* Container restart

* Minor Fix

* Cleanup docker and test

* Adding final tests

* Removing comment

* Fixing cleanup (uncomment)

* Removing bad yaml

* Cleanup

* Cleanup

* Adressing PR review comments

* Adding test support

* fix spacing

* Adding changelog

* docs

* docs

* adding cassandra page

* nav

* Versbose commenting

* cleanup naming of file

* updating helper func to return errors

* doc change

* Removed an incorrect comment and now passing the config by reference.

* Comment cleanup

* Fix option warning in cassandra connect command (#5951)

* Add healthcheck to caller function as it's resposible for container health

* Resolve Comments

* Update Log Typo

---------

Co-authored-by: Bharath Gajjala <120367134+bgajjala8@users.noreply.github.com>
This commit is contained in:
Ryan DerrandBharath Gajjala authored and GitHub committed 2025-07-30 16:21:11 -05:00
1 parent 029aa361bd
commit 4d3cb76c28
10 files changed
+504 -1

No files matched your search

@@ -0,0 +1,69 @@
---
layout: docs
page_title: connect cassandra - Command
description: >-
The "connect cassandra" command performs a target authorization or consumes an existing authorization token, and then launches a proxied Cassandra (CQL) connection.
---
# connect cassandra
Command: `boundary connect cassandra`
The `connect cassandra` command authorizes a session against a target and invokes a Cassandra client for the connection.
The command fills in the local address and port.
> **Note:** Currently, only configurations using Cassandra's `PasswordAuthenticator` are supported.
@include 'cmd-connect-env-vars.mdx'
## Examples
The following example shows how to connect to a target with the ID `ttcp_eTcZMueUYv` using a Cassandra helper:
```shell-session
$ boundary connect cassandra -target-id=ttcp_eTcZMueUYv \
-keyspace=mykeyspace \
-username=superuser
```
When prompted, you must enter the password for the user, "superuser":
<CodeBlockConfig hideClipboard>
```plaintext
Password:
Connected to example-cluster at localhost:9042
[cqlsh 6.2.0 | Cassandra 5.0.4 | CQL spec 3.4.7 | Native protocol v5]
Use HELP for help.
superuser@cqlsh:mykeyspace>
```
</CodeBlockConfig>
## Usage
<CodeBlockConfig hideClipboard>
```shell-session
$ boundary connect cassandra [options] [args]
```
</CodeBlockConfig>
@include 'cmd-connect-command-options.mdx'
### Cassandra options:
- `-keyspace` `(string: "")` - The keyspace name you want to pass through to the client.
You can also specify the keyspace name using the **BOUNDARY_CONNECT_KEYSPACE** environment variable.
- `-style` `(string: "")` - How the CLI attempts to invoke a Cassandra client.
This value also sets a suitable default for `-exec`, if you did not specify a value.
The default and currently-understood value is `cqlsh`.
You can also specify how the CLI attempts to invoke a Cassandra client using the **BOUNDARY_CONNECT_CASSANDRA_STYLE** environment variable.
- `-username` `(string: "")` - The username you want to pass through to the client.
This value may be overridden by credentials sourced from a credential store.
You can also specify a username using the **BOUNDARY_CONNECT_USERNAME** environment variable.
@include 'cmd-option-note.mdx'
@@ -41,6 +41,7 @@ Usage: boundary connect <subcommand> [options] [args]
Subcommands:
http Authorize a session against a target and invoke an HTTP client to connect
kube Authorize a session against a target and invoke a Kubernetes client to connect
cassandra Authorize a session against a target and invoke a Cassandra client to connect
mysql Authorize a session against a target and invoke a MySQL client to connect
postgres Authorize a session against a target and invoke a Postgres client to connect
rdp Authorize a session against a target and invoke an RDP client to connect
@@ -54,6 +55,7 @@ of the subcommand in the sidebar or one of the links below:
- [http](/boundary/docs/commands/connect/http)
- [kube](/boundary/docs/commands/connect/kube)
- [cassandra](/boundary/docs/commands/connect/cassandra)
- [mysql](/boundary/docs/commands/connect/mysql)
- [postgres](/boundary/docs/commands/connect/postgres)
- [rdp](/boundary/docs/commands/connect/rdp)