Cassandra
Detailed information on the Cassandra state store component
Component format
To setup Cassandra state store create a component of type state.cassandra
. See this guide on how to create and apply a state store configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
spec:
type: state.cassandra
version: v1
metadata:
- name: hosts
value: <REPLACE-WITH-COMMA-DELIMITED-HOSTS> # Required. Example: cassandra.cassandra.svc.cluster.local
- name: username
value: <REPLACE-WITH-PASSWORD> # Optional. default: ""
- name: password
value: <REPLACE-WITH-PASSWORD> # Optional. default: ""
- name: consistency
value: <REPLACE-WITH-CONSISTENCY> # Optional. default: "All"
- name: table
value: <REPLACE-WITH-TABLE> # Optional. default: "items"
- name: keyspace
value: <REPLACE-WITH-KEYSPACE> # Optional. default: "dapr"
- name: protoVersion
value: <REPLACE-WITH-PROTO-VERSION> # Optional. default: "4"
- name: replicationFactor
value: <REPLACE-WITH-REPLICATION-FACTOR> # Optional. default: "1"
Warning
The above example uses secrets as plain strings. It is recommended to use a secret store for the secrets as described here.Spec metadata fields
Field | Required | Details | Example |
---|---|---|---|
hosts | Y | Comma separated value of the hosts | "cassandra.cassandra.svc.cluster.local" . |
port | N | Port for communication. Default "9042" |
"9042" |
username | Y | The username of database user. No default | "user" |
password | Y | The password for the user | "password" |
consistency | N | The consistency values | "All" , "Quorum" |
table | N | Table name. Defaults to "items" |
"items" , "tab" |
keyspace | N | The cassandra keyspace to use. Defaults to "dapr" |
"dapr" |
protoVersion | N | The proto version for the client. Defaults to "4" |
"3" , "4" |
replicationFactor | N | The replication factor for the calls. Defaults to "1" |
"3" |
Setup Cassandra
You can run Cassandra locally with the Datastax Docker image:
docker run -e DS_LICENSE=accept --memory 4g --name my-dse -d datastax/dse-server -g -s -k
You can then interact with the server using localhost:9042
.
The easiest way to install Cassandra on Kubernetes is by using the Helm chart:
kubectl create namespace cassandra
helm install cassandra incubator/cassandra --namespace cassandra
This installs Cassandra into the cassandra
namespace by default.
To interact with Cassandra, find the service with: kubectl get svc -n cassandra
.
For example, if installing using the example above, the Cassandra DNS would be:
cassandra.cassandra.svc.cluster.local
Related links
- Basic schema for a Dapr component
- Read this guide for instructions on configuring state store components
- State management building block
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.
Last modified December 12, 2024: Update setup-aws-snssqs.md (#4437) (c13e6d9)